<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>Spring Security 中文文档 - Spring Security 5.1.2.RELEASE Reference | Docs4dev</title>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="Spring Security 是一个功能强大且可高度自定义的身份验证和访问控制框架。 它是保护基于Spring的应用程序的事实上的标准。">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="true">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta property="og:type" content="website">
<meta property="og:title" content="Spring Security 中文文档 - Spring Security 5.1.2.RELEASE Reference">
<meta property="og:url" content="https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/">
<meta property="og:site_name" content="Docs4dev">
<meta property="og:locale" content="zh_CN">
<meta name="twitter:card" content="Spring Security 是一个功能强大且可高度自定义的身份验证和访问控制框架。 它是保护基于Spring的应用程序的事实上的标准。">
<meta name="generator" content="Docs4dev template engine">
<link rel="stylesheet" href="static/css/app.min.css">
<link rel="shortcut icon" href="https://www.docs4dev.com/static/images/favicon.ico" type="image/x-icon">
<script async="" src="static/js/js.js"></script>
<script async="" src="static/js/adsbygoogle.js" crossorigin="anonymous"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
      dataLayer.push(arguments);
    }

    gtag('js', new Date());
    gtag('config', 'UA-129571937-1');
  </script>
<link rel="amphtml" href="https://www.docs4dev.com/amp/docs/zh/spring-security/5.1.2.RELEASE/reference/index.html">

<link rel="stylesheet" href="static/css/manual.css">
<script type="application/ld+json">{"name":null,"headline":"Spring Security 中文文档-Spring Security 5.1.2.RELEASE Reference","inLanguage":"zh-CN","version":"5.1.2.RELEASE","image":"/static/icon/icon-spring-security.svg","datePublished":"2021-05-20T12:51:01Z","dateCreated":"2021-05-20T12:51:01Z","dateModified":"2021-07-03T15:47:37Z","@context":"https://schema.org/","@type":"APIReference","abstract":"Spring Security 是一个功能强大且可高度自定义的身份验证和访问控制框架。 它是保护基于Spring的应用程序的事实上的标准。"}</script>
</head>
<body>
<div class="book with-summary">
<div class="book-summary">
<div class="logo">
<a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference');" style="color: inherit;">
<img src="static/picture/icon-spring-security.svg" style="width: 48px; height: 48px;" alt="Logo">
</a>
<b style="color: inherit; margin-left: 8px;">Spring Security 中文文档</b>
</div>
<div class="item">
<div>
<label for="version">版本</label>
<select id="version" onchange="onVersionChange(this)">
<option value="4.2.10.RELEASE">4.2.10.RELEASE</option>
<option value="5.1.2.RELEASE" selected="selected">5.1.2.RELEASE</option>
</select>
</div>
<div style="margin-top: 8px;">
<label for="language">语言</label>
<select id="language" onchange="onLangChange(this)" value="zh">
<option value="en">English</option>
<option value="zh" selected="selected">中文</option>
</select>
</div>

</div>
<div class="item menus">
<a title="Table of Contents" style="margin-right: 8px;" href="#">
<i class="fa fa-chevron-left"></i>
<span style="margin-left: 2px;">返回目录</span>
</a>
</div>
<nav role="navigation" id="navigation">
<ul class="summary">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/pr01.html');"> </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/preface.html');" title="I. Preface"> I. Preface </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html');" title="1. Spring Security 社区"> 1. Spring Security 社区 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-help');" title="1.1. 获得帮助"> 1.1. 获得帮助 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-becoming-involved');" title="1.2. 参与其中"> 1.2. 参与其中 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-source');" title="1.3. 源代码"> 1.3. 源代码 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-license');" title="1.4. Apache 2 许可证"> 1.4. Apache 2 许可证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#social-media');" title="1.5. 社交媒体"> 1.5. 社交媒体 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html');" title="2. Spring Security 5.1 的新增功能"> 2. Spring Security 5.1 的新增功能 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#servlet');" title="2.1. Servlet"> 2.1. Servlet </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#webflux');" title="2.2. WebFlux"> 2.2. WebFlux </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#integrations');" title="2.3. Integrations"> 2.3. Integrations </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html');" title="3. 获得 Spring Security"> 3. 获得 Spring Security </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#release-numbering');" title="3.1. 版本编号"> 3.1. 版本编号 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven');" title="3.2. Maven 的用法"> 3.2. Maven 的用法 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#spring-boot-with-maven');" title="3.2.1. Maven 的 Spring Boot"> 3.2.1. Maven 的 Spring Boot </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven-without-spring-boot');" title="3.2.2. 没有 Spring Boot 的 Maven"> 3.2.2. 没有 Spring Boot 的 Maven </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven-repositories');" title="3.2.3. Maven 存储库"> 3.2.3. Maven 存储库 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle');" title="3.3. Gradle"> 3.3. Gradle </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#spring-boot-with-gradle');" title="3.3.1. 带有 Gradle 的 Spring Boot"> 3.3.1. 带有 Gradle 的 Spring Boot </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle-without-spring-boot');" title="3.3.2. 不带 Spring Boot 的 Gradle"> 3.3.2. 不带 Spring Boot 的 Gradle </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle-repositories');" title="3.3.3. GradleRepositories"> 3.3.3. GradleRepositories </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html');" title="4. Project Modules"> 4. Project Modules </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-core');" title="4.1. 核心-spring-security-core.jar"> 4.1. 核心-spring-security-core.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-remoting');" title="4.2. 远程处理-spring-security-remoting.jar"> 4.2. 远程处理-spring-security-remoting.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-web');" title="4.3. 网络-spring-security-web.jar"> 4.3. 网络-spring-security-web.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-config');" title="4.4. 配置-spring-security-config.jar"> 4.4. 配置-spring-security-config.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-ldap');" title="4.5. LDAP-spring-security-ldap.jar"> 4.5. LDAP-spring-security-ldap.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-core');" title="4.6. OAuth 2.0 核心-spring-security-oauth2-core.jar"> 4.6. OAuth 2.0 核心-spring-security-oauth2-core.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-client');" title="4.7. OAuth 2.0Client 端-spring-security-oauth2-client.jar"> 4.7. OAuth 2.0Client 端-spring-security-oauth2-client.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-jose');" title="4.8. OAuth 2.0 JOSE-spring-security-oauth2-jose.jar"> 4.8. OAuth 2.0 JOSE-spring-security-oauth2-jose.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-acl');" title="4.9. ACL-spring-security-acl.jar"> 4.9. ACL-spring-security-acl.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-cas');" title="4.10. CAS-spring-security-cas.jar"> 4.10. CAS-spring-security-cas.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-openid');" title="4.11. OpenID-spring-security-openid.jar"> 4.11. OpenID-spring-security-openid.jar </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-test');" title="4.12. 测试-spring-security-test.jar"> 4.12. 测试-spring-security-test.jar </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html');" title="5. Sample Applications"> 5. Sample Applications </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#tutorial-sample');" title="5.1. 教程 samples"> 5.1. 教程 samples </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#contacts-sample');" title="5.2. Contacts"> 5.2. Contacts </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#ldap-sample');" title="5.3. LDAP 示例"> 5.3. LDAP 示例 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#openid-sample');" title="5.4. OpenID 示例"> 5.4. OpenID 示例 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#cas-sample');" title="5.5. CASsamples"> 5.5. CASsamples </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#jaas-sample');" title="5.6. JAAS 示例"> 5.6. JAAS 示例 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#preauth-sample');" title="5.7. 身份验证前 samples"> 5.7. 身份验证前 samples </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-applications.html');" title="II. Servlet 应用程序"> II. Servlet 应用程序 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html');" title="6. Java Configuration"> 6. Java Configuration </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#hello-web-security-java-configuration');" title="6.1. Hello Web Security Java 配置"> 6.1. Hello Web Security Java 配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer');" title="6.1.1. AbstractSecurityWebApplicationInitializer"> 6.1.1. AbstractSecurityWebApplicationInitializer </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer-without-existing-spring');" title="6.1.2. 没有现有 Spring 的 AbstractSecurityWebApplicationInitializer"> 6.1.2. 没有现有 Spring 的 AbstractSecurityWebApplicationInitializer </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer-with-spring-mvc');" title="带有 Spring MVC 的 6.1.3. AbstractSecurityWebApplicationInitializer"> 带有 Spring MVC 的 6.1.3. AbstractSecurityWebApplicationInitializer </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-httpsecurity');" title="6.2. HttpSecurity"> 6.2. HttpSecurity </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-form');" title="6.3. Java 配置和表单登录"> 6.3. Java 配置和表单登录 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authorize-requests');" title="6.4. 授权请求"> 6.4. 授权请求 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout');" title="6.5. 处理注销"> 6.5. 处理注销 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-handler');" title="6.5.1. LogoutHandler"> 6.5.1. LogoutHandler </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-success-handler');" title="6.5.2. LogoutSuccessHandler"> 6.5.2. LogoutSuccessHandler </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-references');" title="6.5.3. 其他与注销有关的参考"> 6.5.3. 其他与注销有关的参考 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2client');" title="6.6. OAuth 2.0Client 端"> 6.6. OAuth 2.0Client 端 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-client-registration');" title="6.6.1. ClientRegistration"> 6.6.1. ClientRegistration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-client-registration-repo');" title="6.6.2. ClientRegistrationRepository"> 6.6.2. ClientRegistrationRepository </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorized-client');" title="6.6.3. OAuth2AuthorizedClient"> 6.6.3. OAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorized-repo-service');" title="6.6.4. OAuth2AuthorizedClientRepository/OAuth2AuthorizedClientService"> 6.6.4. OAuth2AuthorizedClientRepository/OAuth2AuthorizedClientService </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-registered-authorized-client');" title="6.6.5. RegisteredOAuth2AuthorizedClient"> 6.6.5. RegisteredOAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorization-request-repository');" title="6.6.6. AuthorizationRequestRepository"> 6.6.6. AuthorizationRequestRepository </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorization-request-resolver');" title="6.6.7. OAuth2AuthorizationRequestResolver"> 6.6.7. OAuth2AuthorizationRequestResolver </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-access-token-client');" title="6.6.8. OAuth2AccessTokenResponseClient"> 6.6.8. OAuth2AccessTokenResponseClient </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login');" title="6.7. OAuth 2.0 登录"> 6.7. OAuth 2.0 登录 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-boot');" title="6.7.1. Spring Boot 2.xsamples"> 6.7.1. Spring Boot 2.xsamples </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-initial-setup');" title="Initial setup"> Initial setup </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-redirect-uri');" title="设置重定向 URI"> 设置重定向 URI </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-application-config');" title="Configure application.yml"> Configure application.yml </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-boot-application');" title="启动应用程序"> 启动应用程序 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-boot-property-mappings');" title="6.7.2. Spring Boot 2.x 属性 Map"> 6.7.2. Spring Boot 2.x 属性 Map </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-common-oauth2-provider');" title="6.7.3. CommonOAuth2Provider"> 6.7.3. CommonOAuth2Provider </a> </li>
 <li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-custom-provider-properties');" title="6.7.4. 配置自定义提供程序属性"> 6.7.4. 配置自定义提供程序属性 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-override-boot-autoconfig');" title="6.7.5. 覆盖 Spring Boot 2.x 自动配置"> 6.7.5. 覆盖 Spring Boot 2.x 自动配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-register-clientregistrationrepository-bean');" title="注册一个 ClientRegistrationRepository @Bean"> 注册一个 ClientRegistrationRepository @Bean </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-provide-websecurityconfigureradapter');" title="提供一个 WebSecurityConfigurerAdapter"> 提供一个 WebSecurityConfigurerAdapter </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-completely-override-autoconfiguration');" title="完全覆盖自动配置"> 完全覆盖自动配置 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-javaconfig-wo-boot');" title="6.7.6. 没有 Spring Boot 2.x 的 Java 配置"> 6.7.6. 没有 Spring Boot 2.x 的 Java 配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-resources');" title="6.7.7. 其他资源"> 6.7.7. 其他资源 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver');" title="6.8. OAuth 2.0 资源服务器"> 6.8. OAuth 2.0 资源服务器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#dependencies');" title="6.8.1. Dependencies"> 6.8.1. Dependencies </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-minimalconfiguration');" title="6.8.2. 最低配置"> 6.8.2. 最低配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#specifying-the-authorization-server');" title="指定授权服务器"> 指定授权服务器 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#startup-expectations');" title="Startup Expectations"> Startup Expectations </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#runtime-expectations');" title="Runtime Expectations"> Runtime Expectations </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-jwkseturi');" title="6.8.3. 直接指定授权服务器 JWK 设置 Uri"> 6.8.3. 直接指定授权服务器 JWK 设置 Uri </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-sansboot');" title="6.8.4. 覆盖或替换引导自动配置"> 6.8.4. 覆盖或替换引导自动配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-jwkseturi-dsl');" title="Using jwkSetUri()"> Using jwkSetUri() </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-decoder-dsl');" title="Using decoder()"> Using decoder() </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-decoder-bean');" title="公开一个 JwtDecoder @Bean"> 公开一个 JwtDecoder @Bean </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-authorization');" title="6.8.5. 配置授权"> 6.8.5. 配置授权 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-authorization-extraction');" title="手动提取权限"> 手动提取权限 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation');" title="6.8.6. 配置验证"> 6.8.6. 配置验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation-clockskew');" title="自定义时间戳验证"> 自定义时间戳验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation-custom');" title="配置自定义验证器"> 配置自定义验证器 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping');" title="6.8.7. 配置声明集 Map"> 6.8.7. 配置声明集 Map </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-singleclaim');" title="自定义单个索赔的转换"> 自定义单个索赔的转换 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-add');" title="添加索赔"> 添加索赔 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-remove');" title="删除索赔"> 删除索赔 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-rename');" title="重命名索赔"> 重命名索赔 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-timeouts');" title="6.8.8. 配置超时"> 6.8.8. 配置超时 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication');" title="6.9. Authentication"> 6.9. Authentication </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-inmemory');" title="6.9.1. 内存中身份验证"> 6.9.1. 内存中身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-jdbc');" title="6.9.2. JDBC 身份验证"> 6.9.2. JDBC 身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#ldap-authentication');" title="6.9.3. LDAP 认证"> 6.9.3. LDAP 认证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-authenticationprovider');" title="6.9.4. AuthenticationProvider"> 6.9.4. AuthenticationProvider </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-userdetailsservice');" title="6.9.5. UserDetailsService"> 6.9.5. UserDetailsService </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#multiple-httpsecurity');" title="6.10. 多个 HttpSecurity"> 6.10. 多个 HttpSecurity </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-method');" title="6.11. 方法安全性"> 6.11. 方法安全性 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#enableglobalmethodsecurity');" title="6.11.1. EnableGlobalMethodSecurity"> 6.11.1. EnableGlobalMethodSecurity </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#globalmethodsecurityconfiguration');" title="6.11.2. GlobalMethodSecurityConfiguration"> 6.11.2. GlobalMethodSecurityConfiguration </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#post-processing-configured-objects');" title="6.12. 后处理配置的对象"> 6.12. 后处理配置的对象 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-custom-dsls');" title="6.13. 自定义 DSL"> 6.13. 自定义 DSL </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html');" title="7. 安全命名空间配置"> 7. 安全命名空间配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#introduction');" title="7.1. Introduction"> 7.1. Introduction </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#design-of-the-namespace');" title="7.1.1. 命名空间的设计"> 7.1.1. 命名空间的设计 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-getting-started');" title="7.2. 安全命名空间配置入门"> 7.2. 安全命名空间配置入门 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-web-xml');" title="7.2.1. web.xml 配置"> 7.2.1. web.xml 配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-minimal');" title="7.2.2. 最小<http>配置"> 7.2.2. 最小&lt;http&gt;配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-form-and-basic');" title="7.2.3. 表单和基本登录选项"> 7.2.3. 表单和基本登录选项 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-form-target');" title="设置默认的登录后目标"> 设置默认的登录后目标 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-logout');" title="7.2.4. 注销处理"> 7.2.4. 注销处理 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-auth-providers');" title="7.2.5. 使用其他身份验证提供程序"> 7.2.5. 使用其他身份验证提供程序 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-password-encoder');" title="添加密码编码器"> 添加密码编码器 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-web-advanced');" title="7.3. 高级网络功能"> 7.3. 高级网络功能 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-remember-me');" title="7.3.1. 记住我身份验证"> 7.3.1. 记住我身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-requires-channel');" title="7.3.2. 添加 HTTP/HTTPS 通道安全性"> 7.3.2. 添加 HTTP/HTTPS 通道安全性 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-session-mgmt');" title="7.3.3. 会话 Management"> 7.3.3. 会话 Management </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#detecting-timeouts');" title="Detecting Timeouts"> Detecting Timeouts </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-concurrent-sessions');" title="并发会话控制"> 并发会话控制 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-session-fixation');" title="会话固定攻击防护"> 会话固定攻击防护 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-openid');" title="7.3.4. OpenID 支持"> 7.3.4. OpenID 支持 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#attribute-exchange');" title="Attribute Exchange"> Attribute Exchange </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-headers');" title="7.3.5. 响应标题"> 7.3.5. 响应标题 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-custom-filters');" title="7.3.6. 添加您自己的过滤器"> 7.3.6. 添加您自己的过滤器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-entry-point-ref');" title="设置自定义 AuthenticationEntryPoint"> 设置自定义 AuthenticationEntryPoint </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-method-security');" title="7.4. 方法安全性"> 7.4. 方法安全性 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-global-method');" title="7.4.1. <global-method-security>元素"> 7.4.1. &lt;global-method-security&gt;元素 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-protect-pointcut');" title="使用保护切入点添加安全切入点"> 使用保护切入点添加安全切入点 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-access-manager');" title="7.5. 默认的 AccessDecisionManager"> 7.5. 默认的 AccessDecisionManager </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-custom-access-mgr');" title="7.5.1. 自定义 AccessDecisionManager"> 7.5.1. 自定义 AccessDecisionManager </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-auth-manager');" title="7.6. 身份验证 Management 器和命名空间"> 7.6. 身份验证 Management 器和命名空间 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html');" title="8. 架构与实施"> 8. 架构与实施 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#technical-overview');" title="8.1. 技术概述"> 8.1. 技术概述 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#runtime-environment');" title="8.1.1. 运行时环境"> 8.1.1. 运行时环境 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-components');" title="8.1.2. 核心组件"> 8.1.2. 核心组件 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#securitycontextholder-securitycontext-and-authentication-objects');" title="SecurityContextHolder，SecurityContext 和身份验证对象"> SecurityContextHolder，SecurityContext 和身份验证对象 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-userdetailsservice');" title="The UserDetailsService"> The UserDetailsService </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-granted-authority');" title="GrantedAuthority"> GrantedAuthority </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#summary');" title="Summary"> Summary </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-authentication');" title="8.1.3. Authentication"> 8.1.3. Authentication </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#what-is-authentication-in-spring-security');" title="Spring Security 中的身份验证是什么？"> Spring Security 中的身份验证是什么？ </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#setting-the-securitycontextholder-contents-directly');" title="直接设置 SecurityContextHolder 内容"> 直接设置 SecurityContextHolder 内容 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-web-authentication');" title="8.1.4. Web 应用程序中的身份验证"> 8.1.4. Web 应用程序中的身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#exceptiontranslationfilter');" title="ExceptionTranslationFilter"> ExceptionTranslationFilter </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-auth-entry-point');" title="AuthenticationEntryPoint"> AuthenticationEntryPoint </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#authentication-mechanism');" title="Authentication Mechanism"> Authentication Mechanism </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-sec-context-persistence');" title="在请求之间存储 SecurityContext"> 在请求之间存储 SecurityContext </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-access-control');" title="8.1.5. Spring Security 中的访问控制(授权)"> 8.1.5. Spring Security 中的访问控制(授权) </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#security-and-aop-advice');" title="安全和 AOP 建议"> 安全和 AOP 建议 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#secure-objects');" title="安全对象和 AbstractSecurityInterceptor"> 安全对象和 AbstractSecurityInterceptor </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#localization');" title="8.1.6. Localization"> 8.1.6. Localization </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services');" title="8.2. 核心服务"> 8.2. 核心服务 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-authentication-manager');" title="8.2.1. AuthenticationManager，ProviderManager 和 AuthenticationProvider"> 8.2.1. AuthenticationManager，ProviderManager 和 AuthenticationProvider </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-erasing-credentials');" title="清除成功认证的凭据"> 清除成功认证的凭据 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-dao-provider');" title="DaoAuthenticationProvider"> DaoAuthenticationProvider </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#userdetailsservice-implementations');" title="8.2.2. UserDetailsService 实施"> 8.2.2. UserDetailsService 实施 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-in-memory-service');" title="In-Memory Authentication"> In-Memory Authentication </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-jdbc-user-service');" title="JdbcDaoImpl"> JdbcDaoImpl </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-password-encoding');" title="8.2.3. 密码编码"> 8.2.3. 密码编码 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-history');" title="Password History"> Password History </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-dpe');" title="DelegatingPasswordEncoder"> DelegatingPasswordEncoder </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-bcpe');" title="BCryptPasswordEncoder"> BCryptPasswordEncoder </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-pbkdf2pe');" title="Pbkdf2PasswordEncoder"> Pbkdf2PasswordEncoder </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-scpe');" title="SCryptPasswordEncoder"> SCryptPasswordEncoder </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#other-passwordencoders');" title="Other PasswordEncoders"> Other PasswordEncoders </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#jackson');" title="8.2.4. Jackson 支持"> 8.2.4. Jackson 支持 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html');" title="9. Testing"> 9. Testing </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method');" title="9.1. 测试方法的安全性"> 9.1. 测试方法的安全性 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-setup');" title="9.1.1. 安全测试设置"> 9.1.1. 安全测试设置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withmockuser');" title="9.1.2. @WithMockUser"> 9.1.2. @WithMockUser </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withanonymoususer');" title="9.1.3. @WithAnonymousUser"> 9.1.3. @WithAnonymousUser </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withuserdetails');" title="9.1.4. @WithUserDetails"> 9.1.4. @WithUserDetails </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withsecuritycontext');" title="9.1.5. @WithSecurityContext"> 9.1.5. @WithSecurityContext </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-meta-annotations');" title="9.1.6. 测试元 Comments"> 9.1.6. 测试元 Comments </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc');" title="9.2. Spring MVC 测试集成"> 9.2. Spring MVC 测试集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-setup');" title="9.2.1. 设置 MockMvc 和 Spring Security"> 9.2.1. 设置 MockMvc 和 Spring Security </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-smmrpp');" title="9.2.2. SecurityMockMvcRequestPostProcessors"> 9.2.2. SecurityMockMvcRequestPostProcessors </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-csrf');" title="使用 CSRF 保护进行测试"> 使用 CSRF 保护进行测试 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-securitycontextholder');" title="在 Spring MVC 测试中以用户身份运行测试"> 在 Spring MVC 测试中以用户身份运行测试 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-securitycontextholder-rpp');" title="在 Spring MVC Test 中使用 RequestPostProcessor 以用户身份运行"> 在 Spring MVC Test 中使用 RequestPostProcessor 以用户身份运行 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#testing-http-basic-authentication');" title="测试 HTTP 基本身份验证"> 测试 HTTP 基本身份验证 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#securitymockmvcrequestbuilders');" title="9.2.3. SecurityMockMvcRequestBuilders"> 9.2.3. SecurityMockMvcRequestBuilders </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#testing-form-based-authentication');" title="测试基于表单的身份验证"> 测试基于表单的身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-logout');" title="Testing Logout"> Testing Logout </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#securitymockmvcresultmatchers');" title="9.2.4. SecurityMockMvcResultMatchers"> 9.2.4. SecurityMockMvcResultMatchers </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#unauthenticated-assertion');" title="Unauthenticated Assertion"> Unauthenticated Assertion </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#authenticated-assertion');" title="Authenticated Assertion"> Authenticated Assertion </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html');" title="10. Web 应用安全"> 10. Web 应用安全 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-filter-chain');" title="10.1. 安全筛选器链"> 10.1. 安全筛选器链 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#delegating-filter-proxy');" title="10.1.1. DelegatingFilterProxy"> 10.1.1. DelegatingFilterProxy </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-chain-proxy');" title="10.1.2. FilterChainProxy"> 10.1.2. FilterChainProxy </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#bypassing-the-filter-chain');" title="绕过过滤链"> 绕过过滤链 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-ordering');" title="10.1.3. 过滤器 Order"> 10.1.3. 过滤器 Order </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#request-matching');" title="10.1.4. 请求匹配和 HttpFirewall"> 10.1.4. 请求匹配和 HttpFirewall </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#use-with-other-filter-based-frameworks');" title="10.1.5. 与其他基于过滤器的框架一起使用"> 10.1.5. 与其他基于过滤器的框架一起使用 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-chains-with-ns');" title="10.1.6. 高级命名空间配置"> 10.1.6. 高级命名空间配置 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#core-web-filters');" title="10.2. 核心安全过滤器"> 10.2. 核心安全过滤器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-security-interceptor');" title="10.2.1. FilterSecurityInterceptor"> 10.2.1. FilterSecurityInterceptor </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#exception-translation-filter');" title="10.2.2. ExceptionTranslationFilter"> 10.2.2. ExceptionTranslationFilter </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#auth-entry-point');" title="AuthenticationEntryPoint"> AuthenticationEntryPoint </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#access-denied-handler');" title="AccessDeniedHandler"> AccessDeniedHandler </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#request-caching');" title="SavedRequest 和 RequestCache 接口"> SavedRequest 和 RequestCache 接口 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-context-persistence-filter');" title="10.2.3. SecurityContextPersistenceFilter"> 10.2.3. SecurityContextPersistenceFilter </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-context-repository');" title="SecurityContextRepository"> SecurityContextRepository </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#form-login-filter');" title="10.2.4. UsernamePasswordAuthenticationFilter"> 10.2.4. UsernamePasswordAuthenticationFilter </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#form-login-flow-handling');" title="认证成功与失败的应用流程"> 认证成功与失败的应用流程 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi');" title="10.3. Servlet API 集成"> 10.3. Servlet API 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-25');" title="10.3.1. Servlet 2.5 集成"> 10.3.1. Servlet 2.5 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-remote-user');" title="HttpServletRequest.getRemoteUser()"> HttpServletRequest.getRemoteUser() </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-user-principal');" title="HttpServletRequest.getUserPrincipal()"> HttpServletRequest.getUserPrincipal() </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-user-in-role');" title="HttpServletRequest.isUserInRole(String)"> HttpServletRequest.isUserInRole(String) </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-3');" title="10.3.2. Servlet 3 集成"> 10.3.2. Servlet 3 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-authenticate');" title="HttpServletRequest.authenticate(HttpServletRequest,HttpServletResponse)"> HttpServletRequest.authenticate(HttpServletRequest,HttpServletResponse) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-login');" title="HttpServletRequest.login(String,String)"> HttpServletRequest.login(String,String) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-logout');" title="HttpServletRequest.logout()"> HttpServletRequest.logout() </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-start-runnable');" title="AsyncContext.start(Runnable)"> AsyncContext.start(Runnable) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-async');" title="异步 Servlet 支持"> 异步 Servlet 支持 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-31');" title="10.3.3. Servlet 3.1 集成"> 10.3.3. Servlet 3.1 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-change-session-id');" title="HttpServletRequest#changeSessionId()"> HttpServletRequest#changeSessionId() </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic');" title="10.4. 基本身份验证和摘要身份验证"> 10.4. 基本身份验证和摘要身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic-processing-filter');" title="10.4.1. BasicAuthenticationFilter"> 10.4.1. BasicAuthenticationFilter </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic-config');" title="Configuration"> Configuration </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#digest-processing-filter');" title="10.4.2. DigestAuthenticationFilter"> 10.4.2. DigestAuthenticationFilter </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#digest-config');" title="Configuration"> Configuration </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me');" title="10.5. 记住我身份验证"> 10.5. 记住我身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-overview');" title="10.5.1. Overview"> 10.5.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-hash-token');" title="10.5.2. 基于哈希的简单令牌方法"> 10.5.2. 基于哈希的简单令牌方法 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-persistent-token');" title="10.5.3. 永久令牌方法"> 10.5.3. 永久令牌方法 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-impls');" title="10.5.4. 记住我的界面和实现"> 10.5.4. 记住我的界面和实现 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#tokenbasedremembermeservices');" title="TokenBasedRememberMeServices"> TokenBasedRememberMeServices </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#persistenttokenbasedremembermeservices');" title="PersistentTokenBasedRememberMeServices"> PersistentTokenBasedRememberMeServices </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf');" title="10.6. 跨站请求伪造(CSRF)"> 10.6. 跨站请求伪造(CSRF) </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-attacks');" title="10.6.1. CSRF 攻击"> 10.6.1. CSRF 攻击 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#synchronizer-token-pattern');" title="10.6.2. 同步器令牌模式"> 10.6.2. 同步器令牌模式 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#when-to-use-csrf-protection');" title="10.6.3. 何时使用 CSRF 保护"> 10.6.3. 何时使用 CSRF 保护 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-protection-and-json');" title="CSRF 保护和 JSON"> CSRF 保护和 JSON </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-and-stateless-browser-applications');" title="CSRF 和 Stateless 浏览器应用程序"> CSRF 和 Stateless 浏览器应用程序 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-using');" title="10.6.4. 使用 Spring Security CSRF 保护"> 10.6.4. 使用 Spring Security CSRF 保护 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-use-proper-verbs');" title="使用正确的 HTTP 动词"> 使用正确的 HTTP 动词 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-configure');" title="配置 CSRF 保护"> 配置 CSRF 保护 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-include-csrf-token');" title="包括 CSRF 令牌"> 包括 CSRF 令牌 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-caveats');" title="10.6.5. CSRF 警告"> 10.6.5. CSRF 警告 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-timeouts');" title="Timeouts"> Timeouts </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-login');" title="Logging In"> Logging In </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-logout');" title="Logging Out"> Logging Out </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-multipart');" title="分段(文件上传)"> 分段(文件上传) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#hiddenhttpmethodfilter');" title="HiddenHttpMethodFilter"> HiddenHttpMethodFilter </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#overriding-defaults');" title="10.6.6. 覆盖默认值"> 10.6.6. 覆盖默认值 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#cors');" title="10.7. CORS"> 10.7. CORS </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers');" title="10.8. 安全 HTTP 响应 Headers"> 10.8. 安全 HTTP 响应 Headers </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#default-security-headers');" title="10.8.1. 默认安全标题"> 10.8.1. 默认安全标题 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-cache-control');" title="Cache Control"> Cache Control </a> </li>
 <li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-content-type-options');" title="Content Type 选项"> Content Type 选项 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-hsts');" title="HTTP 严格传输安全性(HSTS)"> HTTP 严格传输安全性(HSTS) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-hpkp');" title="HTTP 公钥固定(HPKP)"> HTTP 公钥固定(HPKP) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-frame-options');" title="X-Frame-Options"> X-Frame-Options </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-xss-protection');" title="X-XSS-Protection"> X-XSS-Protection </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-csp');" title="内容安全 Policy(CSP)"> 内容安全 Policy(CSP) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-referrer');" title="Referrer Policy"> Referrer Policy </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-feature');" title="Feature Policy"> Feature Policy </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-custom');" title="10.8.2. 自定义标题"> 10.8.2. 自定义标题 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-static');" title="Static Headers"> Static Headers </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-writer');" title="Headers Writer"> Headers Writer </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-delegatingrequestmatcherheaderwriter');" title="DelegatingRequestMatcherHeaderWriter"> DelegatingRequestMatcherHeaderWriter </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#session-mgmt');" title="10.9. 会话 Management"> 10.9. 会话 Management </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#sessionmanagementfilter');" title="10.9.1. SessionManagementFilter"> 10.9.1. SessionManagementFilter </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#sessionauthenticationstrategy');" title="10.9.2. SessionAuthenticationStrategy"> 10.9.2. SessionAuthenticationStrategy </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#concurrent-sessions');" title="10.9.3. 并发控制"> 10.9.3. 并发控制 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#list-authenticated-principals');" title="查询 SessionRegistry 中当前经过身份验证的用户及其会话"> 查询 SessionRegistry 中当前经过身份验证的用户及其会话 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous');" title="10.10. 匿名身份验证"> 10.10. 匿名身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-overview');" title="10.10.1. Overview"> 10.10.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-config');" title="10.10.2. Configuration"> 10.10.2. Configuration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-auth-trust-resolver');" title="10.10.3. AuthenticationTrustResolver"> 10.10.3. AuthenticationTrustResolver </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket');" title="10.11. WebSocket 安全"> 10.11. WebSocket 安全 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-configuration');" title="10.11.1. WebSocket 配置"> 10.11.1. WebSocket 配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authentication');" title="10.11.2. WebSocket 身份验证"> 10.11.2. WebSocket 身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization');" title="10.11.3. WebSocket 授权"> 10.11.3. WebSocket 授权 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization-notes');" title="WebSocket 授权说明"> WebSocket 授权说明 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization-notes-outbound');" title="Outbound Messages"> Outbound Messages </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin');" title="10.11.4. 实施同一原产地 Policy"> 10.11.4. 实施同一原产地 Policy </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-why');" title="为什么起源相同？"> 为什么起源相同？ </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-spring');" title="Spring WebSocket 允许的来源"> Spring WebSocket 允许的来源 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-csrf');" title="将 CSRF 添加到 StompHeaders"> 将 CSRF 添加到 StompHeaders </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-disable');" title="在 WebSockets 中禁用 CSRF"> 在 WebSockets 中禁用 CSRF </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs');" title="10.11.5. 使用 SockJS"> 10.11.5. 使用 SockJS </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs-sameorigin');" title="SockJS 和框架选项"> SockJS 和框架选项 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs-csrf');" title="SockJS 和令人放松的 CSRF"> SockJS 和令人放松的 CSRF </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html');" title="11. Authorization"> 11. Authorization </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-arch');" title="11.1. 授权架构"> 11.1. 授权架构 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-authorities');" title="11.1.1. Authorities"> 11.1.1. Authorities </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-pre-invocation');" title="11.1.2. 调用前处理"> 11.1.2. 调用前处理 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-access-decision-manager');" title="The AccessDecisionManager"> The AccessDecisionManager </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-voting-based');" title="基于投票的 AccessDecisionManager 实现"> 基于投票的 AccessDecisionManager 实现 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-after-invocation-handling');" title="11.1.3. 调用处理后"> 11.1.3. 调用处理后 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-hierarchical-roles');" title="11.1.4. 分层角色"> 11.1.4. 分层角色 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#secure-object-impls');" title="11.2. 安全对象的实现"> 11.2. 安全对象的实现 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#aop-alliance');" title="11.2.1. AOPunion(方法调用)安全拦截器"> 11.2.1. AOPunion(方法调用)安全拦截器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#explicit-methodsecurityinterceptor-configuration');" title="显式方法 SecurityInterceptor 配置"> 显式方法 SecurityInterceptor 配置 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#aspectj');" title="11.2.2. AspectJ(JoinPoint)安全拦截器"> 11.2.2. AspectJ(JoinPoint)安全拦截器 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access');" title="11.3. 基于表达式的访问控制"> 11.3. 基于表达式的访问控制 </a>
<ul class="articles">
 <li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#overview');" title="11.3.1. Overview"> 11.3.1. Overview </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-common-built-in');" title="常见的内置表达式"> 常见的内置表达式 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web');" title="11.3.2. Web 安全表达式"> 11.3.2. Web 安全表达式 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web-beans');" title="在 Web 安全表达式中引用 Bean"> 在 Web 安全表达式中引用 Bean </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web-path-variables');" title="Web 安全表达式中的路径变量"> Web 安全表达式中的路径变量 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#method-security-expressions');" title="11.3.3. 方法安全性表达式"> 11.3.3. 方法安全性表达式 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-pre-post-annotations');" title="@Pre 和@Post 注解"> @Pre 和@Post 注解 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-method-built-in');" title="Built-In Expressions"> Built-In Expressions </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html');" title="12. Additional Topics"> 12. Additional Topics </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls');" title="12.1. 域对象安全性(ACL)"> 12.1. 域对象安全性(ACL) </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-overview');" title="12.1.1. Overview"> 12.1.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-key-concepts');" title="12.1.2. 关键概念"> 12.1.2. 关键概念 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-getting-started');" title="12.1.3. 使用入门"> 12.1.3. 使用入门 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#preauth');" title="12.2. 预身份验证方案"> 12.2. 预身份验证方案 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#pre-authentication-framework-classes');" title="12.2.1. 预身份验证框架类"> 12.2.1. 预身份验证框架类 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#abstractpreauthenticatedprocessingfilter');" title="AbstractPreAuthenticatedProcessingFilter"> AbstractPreAuthenticatedProcessingFilter </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#preauthenticatedauthenticationprovider');" title="PreAuthenticatedAuthenticationProvider"> PreAuthenticatedAuthenticationProvider </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#http403forbiddenentrypoint');" title="Http403ForbiddenEntryPoint"> Http403ForbiddenEntryPoint </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#concrete-implementations');" title="12.2.2. 具体实施"> 12.2.2. 具体实施 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#request-header-authentication-siteminder');" title="请求 Headers 验证(Siteminder)"> 请求 Headers 验证(Siteminder) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#java-ee-container-authentication');" title="Java EE 容器认证"> Java EE 容器认证 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap');" title="12.3. LDAP 认证"> 12.3. LDAP 认证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-overview');" title="12.3.1. Overview"> 12.3.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-ldap-with-spring-security');" title="12.3.2. 将 LDAP 与 Spring Security 结合使用"> 12.3.2. 将 LDAP 与 Spring Security 结合使用 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-server');" title="12.3.3. 配置 LDAP 服务器"> 12.3.3. 配置 LDAP 服务器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-an-embedded-test-server');" title="使用嵌入式测试服务器"> 使用嵌入式测试服务器 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-bind-authentication');" title="使用绑定身份验证"> 使用绑定身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#loading-authorities');" title="Loading Authorities"> Loading Authorities </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#implementation-classes');" title="12.3.4. 实现类"> 12.3.4. 实现类 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-ldap-authenticators');" title="LdapAuthenticator Implementations"> LdapAuthenticator Implementations </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-context-source');" title="连接到 LDAP 服务器"> 连接到 LDAP 服务器 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-searchobjects');" title="LDAP 搜索对象"> LDAP 搜索对象 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-authorities');" title="LdapAuthoritiesPopulator"> LdapAuthoritiesPopulator </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-bean-config');" title="Spring Bean 配置"> Spring Bean 配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-custom-user-details');" title="LDAP 属性和自定义的用户详细信息"> LDAP 属性和自定义的用户详细信息 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-active-directory');" title="12.3.5. Active Directory 身份验证"> 12.3.5. Active Directory 身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#activedirectoryldapauthenticationprovider');" title="ActiveDirectoryLdapAuthenticationProvider"> ActiveDirectoryLdapAuthenticationProvider </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced');" title="12.4. OAuth 2.0 登录—高级配置"> 12.4. OAuth 2.0 登录—高级配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-login-page');" title="12.4.1. OAuth 2.0 登录页面"> 12.4.1. OAuth 2.0 登录页面 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-redirection-endpoint');" title="12.4.2. 重定向端点"> 12.4.2. 重定向端点 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-userinfo-endpoint');" title="12.4.3. UserInfo 端点"> 12.4.3. UserInfo 端点 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-map-authorities');" title="Map 用户权限"> Map 用户权限 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-custom-user');" title="配置自定义 OAuth2User"> 配置自定义 OAuth2User </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-oauth2-user-service');" title="OAuth 2.0 UserService"> OAuth 2.0 UserService </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-oidc-user-service');" title="OpenID Connect 1.0 用户服务"> OpenID Connect 1.0 用户服务 </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html');" title="13. Servlet 环境的 WebClient"> 13. Servlet 环境的 WebClient </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-setup');" title="13.1. WebClient OAuth2 设置"> 13.1. WebClient OAuth2 设置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-implicit');" title="13.2. 隐式 OAuth2AuthorizedClient"> 13.2. 隐式 OAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-explicit');" title="13.3. 明确的 OAuth2AuthorizedClient"> 13.3. 明确的 OAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-clientregistrationid');" title="13.4. clientRegistrationId"> 13.4. clientRegistrationId </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#taglibs');" title="13.5. JSP 标记库"> 13.5. JSP 标记库 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#declaring-the-taglib');" title="13.5.1. 声明 Taglib"> 13.5.1. 声明 Taglib </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#taglibs-authorize');" title="13.5.2. 授权标签"> 13.5.2. 授权标签 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#disabling-tag-authorization-for-testing');" title="禁用测试的标签授权"> 禁用测试的标签授权 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-authentication-tag');" title="13.5.3. 身份验证标签"> 13.5.3. 身份验证标签 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-accesscontrollist-tag');" title="13.5.4. accesscontrollist 标记"> 13.5.4. accesscontrollist 标记 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-csrfinput-tag');" title="13.5.5. csrfInput 标签"> 13.5.5. csrfInput 标签 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-csrfmetatags-tag');" title="13.5.6. csrfMetaTags 标记"> 13.5.6. csrfMetaTags 标记 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas');" title="13.6. Java 身份验证和授权服务(JAAS)提供程序"> 13.6. Java 身份验证和授权服务(JAAS)提供程序 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#overview-2');" title="13.6.1. Overview"> 13.6.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-abstractjaasauthenticationprovider');" title="13.6.2. AbstractJaasAuthenticationProvider"> 13.6.2. AbstractJaasAuthenticationProvider </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-callbackhandler');" title="JAAS CallbackHandler"> JAAS CallbackHandler </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-authoritygranter');" title="JAAS AuthorityGranter"> JAAS AuthorityGranter </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-defaultjaasauthenticationprovider');" title="13.6.3. DefaultJaasAuthenticationProvider"> 13.6.3. DefaultJaasAuthenticationProvider </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-inmemoryconfiguration');" title="InMemoryConfiguration"> InMemoryConfiguration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-djap-config');" title="DefaultJaasAuthenticationProvider 示例配置"> DefaultJaasAuthenticationProvider 示例配置 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-jaasauthenticationprovider');" title="13.6.4. JaasAuthenticationProvider"> 13.6.4. JaasAuthenticationProvider </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-apiprovision');" title="13.6.5. 以主题身份 Running"> 13.6.5. 以主题身份 Running </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas');" title="13.7. CAS 验证"> 13.7. CAS 验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-overview');" title="13.7.1. Overview"> 13.7.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-how-it-works');" title="13.7.2. CAS 的工作方式"> 13.7.2. CAS 的工作方式 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-sequence');" title="Spring Security 和 CAS 交互序列"> Spring Security 和 CAS 交互序列 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-client');" title="13.7.3. CASClient 端的配置"> 13.7.3. CASClient 端的配置 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-st');" title="服务票证认证"> 服务票证认证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-singlelogout');" title="Single Logout"> Single Logout </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-pt-client');" title="通过 CAS 向 Stateless 服务进行身份验证"> 通过 CAS 向 Stateless 服务进行身份验证 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-pt');" title="代理票证认证"> 代理票证认证 </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509');" title="13.8. X.509 身份验证"> 13.8. X.509 身份验证 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509-overview');" title="13.8.1. Overview"> 13.8.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#adding-x-509-authentication-to-your-web-application');" title="13.8.2. 将 X.509 身份验证添加到 Web 应用程序"> 13.8.2. 将 X.509 身份验证添加到 Web 应用程序 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509-ssl-config');" title="13.8.3. 在 Tomcat 中设置 SSL"> 13.8.3. 在 Tomcat 中设置 SSL </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas');" title="13.9. 运行身份验证替换"> 13.9. 运行身份验证替换 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas-overview');" title="13.9.1. Overview"> 13.9.1. Overview </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas-config');" title="13.9.2. Configuration"> 13.9.2. Configuration </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#crypto');" title="13.10. Spring Security 加密模块"> 13.10. Spring Security 加密模块 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-introduction');" title="13.10.1. Introduction"> 13.10.1. Introduction </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption');" title="13.10.2. Encryptors"> 13.10.2. Encryptors </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption-bytes');" title="BytesEncryptor"> BytesEncryptor </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption-text');" title="TextEncryptor"> TextEncryptor </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-keygenerators');" title="13.10.3. 密钥生成器"> 13.10.3. 密钥生成器 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#byteskeygenerator');" title="BytesKeyGenerator"> BytesKeyGenerator </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#stringkeygenerator');" title="StringKeyGenerator"> StringKeyGenerator </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-passwordencoders');" title="13.10.4. 密码编码"> 13.10.4. 密码编码 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#concurrency');" title="13.11. 并发支持"> 13.11. 并发支持 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#delegatingsecuritycontextrunnable');" title="13.11.1. DelegatingSecurityContextRunnable"> 13.11.1. DelegatingSecurityContextRunnable </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#delegatingsecuritycontextexecutor');" title="13.11.2. DelegatingSecurityContextExecutor"> 13.11.2. DelegatingSecurityContextExecutor </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-concurrency-classes');" title="13.11.3. Spring Security 并发类"> 13.11.3. Spring Security 并发类 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc');" title="13.12. Spring MVC 集成"> 13.12. Spring MVC 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-enablewebmvcsecurity');" title="13.12.1. @EnableWebMvcSecurity"> 13.12.1. @EnableWebMvcSecurity </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-requestmatcher');" title="13.12.2. MvcRequestMatcher"> 13.12.2. MvcRequestMatcher </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-authentication-principal');" title="13.12.3. @AuthenticationPrincipal"> 13.12.3. @AuthenticationPrincipal </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-async');" title="13.12.4. Spring MVC 异步集成"> 13.12.4. Spring MVC 异步集成 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-csrf');" title="13.12.5. Spring MVC 和 CSRF 集成"> 13.12.5. Spring MVC 和 CSRF 集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#automatic-token-inclusion');" title="自动令牌包含"> 自动令牌包含 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-csrf-resolver');" title="解析 CsrfToken"> 解析 CsrfToken </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html');" title="14. Spring 数据集成"> 14. Spring 数据集成 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html#data-configuration');" title="14.1. Spring 数据和 Spring 安全性配置"> 14.1. Spring 数据和 Spring 安全性配置 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html#data-query');" title="14.2. @Query 中的安全表达式"> 14.2. @Query 中的安全表达式 </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html');" title="15. Appendix"> 15. Appendix </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-schema');" title="15.1. 安全数据库架构"> 15.1. 安全数据库架构 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#user-schema');" title="15.1.1. 用户架构"> 15.1.1. 用户架构 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#for-oracle-database');" title="对于 Oracle 数据库"> 对于 Oracle 数据库 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#group-authorities');" title="Group Authorities"> Group Authorities </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#persistent-login-remember-me-schema');" title="15.1.2. 永久登录(记住我)架构"> 15.1.2. 永久登录(记住我)架构 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#dbschema-acl');" title="15.1.3. ACL 架构"> 15.1.3. ACL 架构 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#hypersql');" title="HyperSQL"> HyperSQL </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#postgresql');" title="PostgreSQL"> PostgreSQL </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#mysql-and-mariadb');" title="MySQL 和 MariaDB"> MySQL 和 MariaDB </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#microsoft-sql-server');" title="Microsoft SQL 服务器"> Microsoft SQL 服务器 </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#oracle-database');" title="Oracle Database"> Oracle Database </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-namespace');" title="15.2. 安全命名空间"> 15.2. 安全命名空间 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-web');" title="15.2.1. Web 应用程序安全"> 15.2.1. Web 应用程序安全 </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-debug');" title="<debug>"> &lt;debug&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http');" title="<http>"> &lt;http&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-access-denied-handler');" title="<access-denied-handler>"> &lt;access-denied-handler&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-cors');" title="<cors>"> &lt;cors&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-headers');" title="<headers>"> &lt;headers&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-cache-control');" title="<cache-control>"> &lt;cache-control&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-hsts');" title="<hsts>"> &lt;hsts&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-hpkp');" title="<hpkp>"> &lt;hpkp&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pins');" title="<pins>"> &lt;pins&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pin');" title="<pin>"> &lt;pin&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-content-security-policy');" title="<content-security-policy>"> &lt;content-security-policy&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-referrer-policy');" title="<referrer-policy>"> &lt;referrer-policy&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-feature-policy');" title="<feature-policy>"> &lt;feature-policy&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-frame-options');" title="<frame-options>"> &lt;frame-options&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-xss-protection');" title="<xss-protection>"> &lt;xss-protection&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-content-type-options');" title="<content-type-options>"> &lt;content-type-options&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-header');" title="<header>"> &lt;header&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-anonymous');" title="<anonymous>"> &lt;anonymous&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-csrf');" title="<csrf>"> &lt;csrf&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-custom-filter');" title="<custom-filter>"> &lt;custom-filter&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-expression-handler');" title="<expression-handler>"> &lt;expression-handler&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-form-login');" title="<form-login>"> &lt;form-login&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http-basic');" title="<http-basic>"> &lt;http-basic&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http-firewall');" title="<http-firewall> Element"> &lt;http-firewall&gt; Element </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-url');" title="<intercept-url>"> &lt;intercept-url&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-jee');" title="<jee>"> &lt;jee&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-logout');" title="<logout>"> &lt;logout&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-openid-login');" title="<openid-login>"> &lt;openid-login&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-attribute-exchange');" title="<attribute-exchange>"> &lt;attribute-exchange&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-openid-attribute');" title="<openid-attribute>"> &lt;openid-attribute&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-port-mappings');" title="<port-mappings>"> &lt;port-mappings&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-port-mapping');" title="<port-mapping>"> &lt;port-mapping&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-remember-me');" title="<remember-me>"> &lt;remember-me&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-request-cache');" title="<request-cache> Element"> &lt;request-cache&gt; Element </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-session-management');" title="<session-management>"> &lt;session-management&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-concurrency-control');" title="<concurrency-control>"> &lt;concurrency-control&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-x509');" title="<x509>"> &lt;x509&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-chain-map');" title="<filter-chain-map>"> &lt;filter-chain-map&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-chain');" title="<filter-chain>"> &lt;filter-chain&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-security-metadata-source');" title="<filter-security-metadata-source>"> &lt;filter-security-metadata-source&gt; </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-websocket-security');" title="15.2.2. WebSocket Security"> 15.2.2. WebSocket Security </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-websocket-message-broker');" title="<websocket-message-broker>"> &lt;websocket-message-broker&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-message');" title="<intercept-message>"> &lt;intercept-message&gt; </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication');" title="15.2.3. Authentication Services"> 15.2.3. Authentication Services </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication-manager');" title="<authentication-manager>"> &lt;authentication-manager&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication-provider');" title="<authentication-provider>"> &lt;authentication-provider&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-jdbc-user-service');" title="<jdbc-user-service>"> &lt;jdbc-user-service&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-password-encoder');" title="<password-encoder>"> &lt;password-encoder&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-user-service');" title="<user-service>"> &lt;user-service&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-user');" title="<user>"> &lt;user&gt; </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-method-security');" title="15.2.4. Method Security"> 15.2.4. Method Security </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-global-method-security');" title="<global-method-security>"> &lt;global-method-security&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-after-invocation-provider');" title="<after-invocation-provider>"> &lt;after-invocation-provider&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pre-post-annotation-handling');" title="<pre-post-annotation-handling>"> &lt;pre-post-annotation-handling&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-invocation-attribute-factory');" title="<invocation-attribute-factory>"> &lt;invocation-attribute-factory&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-post-invocation-advice');" title="<post-invocation-advice>"> &lt;post-invocation-advice&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pre-invocation-advice');" title="<pre-invocation-advice>"> &lt;pre-invocation-advice&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-protect-pointcut');" title="Securing Methods using"> Securing Methods using </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-methods');" title="<intercept-methods>"> &lt;intercept-methods&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-method-security-metadata-source');" title="<method-security-metadata-source>"> &lt;method-security-metadata-source&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-protect');" title="<protect>"> &lt;protect&gt; </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap');" title="15.2.5. LDAP Namespace Options"> 15.2.5. LDAP Namespace Options </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-server');" title="Defining the LDAP Server using the"> Defining the LDAP Server using the </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-authentication-provider');" title="<ldap-authentication-provider>"> &lt;ldap-authentication-provider&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-password-compare');" title="<password-compare>"> &lt;password-compare&gt; </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-user-service');" title="<ldap-user-service>"> &lt;ldap-user-service&gt; </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-dependencies');" title="15.3. Spring Security Dependencies"> 15.3. Spring Security Dependencies </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-core-2');" title="15.3.1. spring-security-core"> 15.3.1. spring-security-core </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-remoting-2');" title="15.3.2. spring-security-remoting"> 15.3.2. spring-security-remoting </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-web-2');" title="15.3.3. spring-security-web"> 15.3.3. spring-security-web </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-ldap-2');" title="15.3.4. spring-security-ldap"> 15.3.4. spring-security-ldap </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-config-2');" title="15.3.5. spring-security-config"> 15.3.5. spring-security-config </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-acl-2');" title="15.3.6. spring-security-acl"> 15.3.6. spring-security-acl </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-cas-2');" title="15.3.7. spring-security-cas"> 15.3.7. spring-security-cas </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-openid-2');" title="15.3.8. spring-security-openid"> 15.3.8. spring-security-openid </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-taglibs');" title="15.3.9. spring-security-taglibs"> 15.3.9. spring-security-taglibs </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-proxy-server');" title="15.4. Proxy Server Configuration"> 15.4. Proxy Server Configuration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq');" title="15.5. Spring Security FAQ"> 15.5. Spring Security FAQ </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-general-questions');" title="15.5.1. General Questions"> 15.5.1. General Questions </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-other-concerns');" title="Will Spring Security take care of all my application security requirements?"> Will Spring Security take care of all my application security requirements? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-web-xml');" title="Why not just use web.xml security?"> Why not just use web.xml security? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-requirements');" title="What Java and Spring Framework versions are required?"> What Java and Spring Framework versions are required? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-start-simple');" title="I'm new to Spring Security and I need to build an application that supports CAS single sign-on over HTTPS, while allowing Basic authentication locally for certain URLs, authenticating against multiple back end user information sources (LDAP and JDBC). I've copied some configuration files I found but it doesn't work."> I'm new to Spring Security and I need to build an application that supports CAS single sign-on over HTTPS, while allowing Basic authentication locally for certain URLs, authenticating against multiple back end user information sources (LDAP and JDBC). I've copied some configuration files I found but it doesn't work. </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-common-problems');" title="15.5.2. Common Problems"> 15.5.2. Common Problems </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-bad-credentials');" title="When I try to log in, I get an error message that says &quot;Bad Credentials&quot;. What's wrong?"> When I try to log in, I get an error message that says "Bad Credentials". What's wrong? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-login-loop');" title="My application goes into an &quot;endless loop&quot; when I try to login, what's going on?"> My application goes into an "endless loop" when I try to login, what's going on? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-anon-access-denied');" title="I get an exception with the message &quot;Access is denied (user is anonymous);&quot;. What's wrong?"> I get an exception with the message "Access is denied (user is anonymous);". What's wrong? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-cached-secure-page');" title="Why can I still see a secured page even after I've logged out of my application?"> Why can I still see a secured page even after I've logged out of my application? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#auth-exception-credentials-not-found');" title="I get an exception with the message &quot;An Authentication object was not found in the SecurityContext&quot;. What's wrong?"> I get an exception with the message "An Authentication object was not found in the SecurityContext". What's wrong? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-ldap-authentication');" title="I can't get LDAP authentication to work."> I can't get LDAP authentication to work. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#session-management');" title="Session Management"> Session Management </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-concurrent-session-same-browser');" title="I'm using Spring Security's concurrent session control to prevent users from logging in more than once at a time."> I'm using Spring Security's concurrent session control to prevent users from logging in more than once at a time. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-new-session-on-authentication');" title="Why does the session Id change when I authenticate through Spring Security?"> Why does the session Id change when I authenticate through Spring Security? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-tomcat-https-session');" title="I'm using Tomcat (or some other servlet container) and have enabled HTTPS for my login page, switching back to HTTP afterwards."> I'm using Tomcat (or some other servlet container) and have enabled HTTPS for my login page, switching back to HTTP afterwards. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#i-m-not-switching-between-http-and-https-but-my-session-is-still-getting-lost');" title="I'm not switching between HTTP and HTTPS but my session is still getting lost"> I'm not switching between HTTP and HTTPS but my session is still getting lost </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-session-listener-missing');" title="I'm trying to use the concurrent session-control support but it won't let me log back in, even if I'm sure I've logged out and haven't exceeded the allowed sessions."> I'm trying to use the concurrent session-control support but it won't let me log back in, even if I'm sure I've logged out and haven't exceeded the allowed sessions. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-unwanted-session-creation');" title="Spring Security is creating a session somewhere, even though I've configured it not to, by setting the create-session attribute to never."> Spring Security is creating a session somewhere, even though I've configured it not to, by setting the create-session attribute to never. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-forbidden-csrf');" title="I get a 403 Forbidden when performing a POST"> I get a 403 Forbidden when performing a POST </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-no-security-on-forward');" title="I'm forwarding a request to another URL using the RequestDispatcher, but my security constraints aren't being applied."> I'm forwarding a request to another URL using the RequestDispatcher, but my security constraints aren't being applied. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-method-security-in-web-context');" title="I have added Spring Security's <global-method-security> element to my application context but if I add security annotations to my Spring MVC controller beans (Struts actions etc.) then they don't seem to have an effect."> I have added Spring Security's &lt;global-method-security&gt; element to my application context but if I add security annotations to my Spring MVC controller beans (Struts actions etc.) then they don't seem to have an effect. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-no-filters-no-context');" title="I have a user who has definitely been authenticated, but when I try to access the SecurityContextHolder during some requests, the Authentication is null."> I have a user who has definitely been authenticated, but when I try to access the SecurityContextHolder during some requests, the Authentication is null. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-method-security-with-taglib');" title="The authorize JSP Tag doesn't respect my method security annotations when using the URL attribute."> The authorize JSP Tag doesn't respect my method security annotations when using the URL attribute. </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-architecture');" title="15.5.3. Spring Security Architecture Questions"> 15.5.3. Spring Security Architecture Questions </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-where-is-class-x');" title="How do I know which package class X is in?"> How do I know which package class X is in? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-namespace-to-bean-mapping');" title="How do the namespace elements map to conventional bean configurations?"> How do the namespace elements map to conventional bean configurations? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-role-prefix');" title="What does &quot;ROLE_&quot; mean and why do I need it on my role names?"> What does "ROLE_" mean and why do I need it on my role names? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-what-dependencies');" title="How do I know which dependencies to add to my application to work with Spring Security?"> How do I know which dependencies to add to my application to work with Spring Security? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-apacheds-deps');" title="What dependencies are needed to run an embedded ApacheDS LDAP server?"> What dependencies are needed to run an embedded ApacheDS LDAP server? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-what-is-userdetailservice');" title="What is a UserDetailsService and do I need one?"> What is a UserDetailsService and do I need one? </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-howto');" title="15.5.4. Common &quot;Howto&quot; Requests"> 15.5.4. Common "Howto" Requests </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-extra-login-fields');" title="I need to login in with more information than just the username."> I need to login in with more information than just the username. </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-matching-url-fragments');" title="How do I apply different intercept-url constraints where only the fragment value of the requested URLs differs (e.g./foo#bar and /foo#blah?"> How do I apply different intercept-url constraints where only the fragment value of the requested URLs differs (e.g./foo#bar and /foo#blah? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-request-details-in-user-service');" title="How do I access the user's IP Address (or other web-request data) in a UserDetailsService?"> How do I access the user's IP Address (or other web-request data) in a UserDetailsService? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-access-session-from-user-service');" title="How do I access the HttpSession from a UserDetailsService?"> How do I access the HttpSession from a UserDetailsService? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-password-in-user-service');" title="How do I access the user's password in a UserDetailsService?"> How do I access the user's password in a UserDetailsService? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-dynamic-url-metadata');" title="How do I define the secured URLs within an application dynamically?"> How do I define the secured URLs within an application dynamically? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-ldap-authorities');" title="How do I authenticate against LDAP but load user roles from a database?"> How do I authenticate against LDAP but load user roles from a database? </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-namespace-post-processor');" title="I want to modify the property of a bean that is created by the namespace, but there is nothing in the schema to support it."> I want to modify the property of a bean that is created by the namespace, but there is nothing in the schema to support it. </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/reactive-applications.html');" title="III. Reactive Applications"> III. Reactive Applications </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html');" title="16. WebFlux Security"> 16. WebFlux Security </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html#minimal-webflux-security-configuration');" title="16.1. Minimal WebFlux Security Configuration"> 16.1. Minimal WebFlux Security Configuration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html#explicit-webflux-security-configuration');" title="16.2. Explicit WebFlux Security Configuration"> 16.2. Explicit WebFlux Security Configuration </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html');" title="17. Default Security Headers"> 17. Default Security Headers </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-cache-control');" title="17.1. Cache Control"> 17.1. Cache Control </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-content-type-options');" title="17.2. Content Type Options"> 17.2. Content Type Options </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-hsts');" title="17.3. HTTP Strict Transport Security (HSTS)"> 17.3. HTTP Strict Transport Security (HSTS) </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-frame-options');" title="17.4. X-Frame-Options"> 17.4. X-Frame-Options </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-xss-protection');" title="17.5. X-XSS-Protection"> 17.5. X-XSS-Protection </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp');" title="17.6. Content Security Policy (CSP)"> 17.6. Content Security Policy (CSP) </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp-configure');" title="17.6.1. Configuring Content Security Policy"> 17.6.1. Configuring Content Security Policy </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp-links');" title="17.6.2. Additional Resources"> 17.6.2. Additional Resources </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-referrer');" title="17.7. Referrer Policy"> 17.7. Referrer Policy </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-referrer-configure');" title="17.7.1. Configuring Referrer Policy"> 17.7.1. Configuring Referrer Policy </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-feature');" title="17.8. Feature Policy"> 17.8. Feature Policy </a>
 <ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-feature-configure');" title="17.8.1. Configuring Feature Policy"> 17.8.1. Configuring Feature Policy </a> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-redirect-https.html');" title="18. Redirect to HTTPS"> 18. Redirect to HTTPS </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html');" title="19. OAuth2 WebFlux"> 19. OAuth2 WebFlux </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login');" title="19.1. OAuth 2.0 Login"> 19.1. OAuth 2.0 Login </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample');" title="19.1.1. Spring Boot 2.0 Sample"> 19.1.1. Spring Boot 2.0 Sample </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-setup');" title="Initial setup"> Initial setup </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-redirect');" title="Setting the redirect URI"> Setting the redirect URI </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-config');" title="Configure application.yml"> Configure application.yml </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-start');" title="Boot up the application"> Boot up the application </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-openid-provider-configuration');" title="19.1.2. Using OpenID Provider Configuration"> 19.1.2. Using OpenID Provider Configuration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-explicit');" title="19.1.3. Explicit OAuth2 Login Configuration"> 19.1.3. Explicit OAuth2 Login Configuration </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-client');" title="19.2. OAuth2 Client"> 19.2. OAuth2 Client </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server');" title="19.3. OAuth2 Resource Server"> 19.3. OAuth2 Resource Server </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#dependencies-2');" title="19.3.1. Dependencies"> 19.3.1. Dependencies </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-minimal-configuration');" title="19.3.2. Minimal Configuration"> 19.3.2. Minimal Configuration </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#specify-the-authorization-server');" title="Specify the Authorization Server"> Specify the Authorization Server </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#startup-expectations-2');" title="Startup Expectations"> Startup Expectations </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#runtime-expectations-2');" title="Runtime Expectations"> Runtime Expectations </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-jwkseturi');" title="Specifying the Authorization Server JWK Set Uri Directly"> Specifying the Authorization Server JWK Set Uri Directly </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-sans-boot');" title="Overriding or Replacing Boot Auto Configuration"> Overriding or Replacing Boot Auto Configuration </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-authorization');" title="Configuring Authorization"> Configuring Authorization </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-validation');" title="Configuring Validation"> Configuring Validation </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-roac.html');" title="20. @RegisteredOAuth2AuthorizedClient"> 20. @RegisteredOAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html');" title="21. WebClient"> 21. WebClient </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-setup');" title="21.1. WebClient OAuth2 Setup"> 21.1. WebClient OAuth2 Setup </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-implicit');" title="21.2. Implicit OAuth2AuthorizedClient"> 21.2. Implicit OAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-explicit');" title="21.3. Explicit OAuth2AuthorizedClient"> 21.3. Explicit OAuth2AuthorizedClient </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-clientregistrationid');" title="21.4. clientRegistrationId"> 21.4. clientRegistrationId </a> </li>
</ul> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-erms.html');" title="22. EnableReactiveMethodSecurity"> 22. EnableReactiveMethodSecurity </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html');" title="23. Reactive Test Support"> 23. Reactive Test Support </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#test-erms');" title="23.1. Testing Reactive Method Security"> 23.1. Testing Reactive Method Security </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#test-webtestclient');" title="23.2. WebTestClientSupport"> 23.2. WebTestClientSupport </a>
<ul class="articles">
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#authentication');" title="23.2.1. Authentication"> 23.2.1. Authentication </a> </li>
<li class="chapter"> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#csrf-support');" title="23.2.2. CSRF Support"> 23.2.2. CSRF Support </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<header class="book-header">
<div class="dropdown pull-right js-toolbar-action">
<a class="btn toggle-dropdown" aria-label="Language" href="#">
<i class="fa fa-globe"></i>
</a>
<div class="dropdown-menu dropdown-left">
<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>
<div class="buttons">
<button class="button size-1" onclick="changeLang('zh_CN')">中文</button>
</div>
<div class="buttons">
<button class="button size-1" onclick="changeLang('en_US')">English</button>
</div>
</div>
</div>
<a class="btn pull-right js-toolbar-action non-mobile" aria-label="Sign up" href="register.html">
<i class="fa fa-sign-in"></i> <span>注册</span>
</a>
<a class="btn pull-right js-toolbar-action non-mobile" aria-label="Sign in" href="register.html">
<i class="fa fa-sign-in"></i>
<span>登录</span>
</a>
<a class="btn pull-left js-toolbar-action btn-summary" href="#"><i class="fa fa-align-justify"></i></a>
<div class="dropdown pull-left font-settings js-toolbar-action">
<a class="btn toggle-dropdown" aria-label="Font Settings" href="#">
<i class="fa fa-font"></i>
</a>
<div class="dropdown-menu dropdown-right">
<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>
<div class="buttons">
<button class="button size-2 font-reduce">A</button>
<button class="button size-2 font-enlarge">A</button>
</div>
<div class="buttons">
<button class="button size-2 family-serif">Serif</button>
<button class="button size-2 family-sans">Sans</button>
</div>
<div class="buttons">
<button class="button size-3 theme-white">White</button>
<button class="button size-3 theme-sepia">Sepia</button>
<button class="button size-3 theme-night">Night</button>
</div>
</div>
</div>
<a class="btn pull-left js-toolbar-action non-mobile" aria-label="Home" href="zh.html">
<i class="fa fa-home"></i> <span>首页</span>
</a>
<a class="btn pull-left js-toolbar-action non-mobile" aria-label="Guide" href="javascript:window.open('https://www.javadoc.org/');">
<i class="fa fa-book"></i> <span>API Docs</span>
</a>
<a class="btn pull-left js-toolbar-action non-mobile" aria-label="Tools" href="index1.html">
<i class="fa fa-gears"></i> <span>工具</span>
</a>
<div class="dropdown pull-left js-toolbar-action mobile">
<a class="btn toggle-dropdown" aria-label="Language" href="#">
<i class="fa fa-chevron-down"></i>
</a>
<div class="dropdown-menu dropdown-right">
<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>
<div class="buttons">
<a class="button size-1" aria-label="Home" href="zh.html">
<i class="fa fa-home"></i> <span>首页</span>
</a>
</div>
<div class="buttons">
<a class="button size-1" aria-label="Guide" href="javascript:window.open('https://www.javadoc.org/');">
<i class="fa fa-book"></i> <span>API Docs</span>
</a>
</div>
<div class="buttons">
<a class="button size-1" aria-label="Tools" href="index1.html">
<i class="fa fa-gears"></i> <span>工具</span>
</a>
</div>
</div>
</div>
<div id="autocomplete" class="pull-right"></div>
<span id="toolbar-title"></span>
</header>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal markdown-section">
<div id="content">
<h1>Spring Security 5.1.2.RELEASE Reference</h1>
<div><ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6108808167664152" data-ad-slot="6964403648"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
<div><div class="divider">
<span class="divider-inner-text">Table of Contents</span>
</div>
<ul class="toc">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/pr01.html');"> </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/preface.html');" title="I. Preface"> I. Preface </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html');" title="1. Spring Security 社区"> 1. Spring Security 社区 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-help');" title="1.1. 获得帮助"> 1.1. 获得帮助 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-becoming-involved');" title="1.2. 参与其中"> 1.2. 参与其中 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-source');" title="1.3. 源代码"> 1.3. 源代码 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#community-license');" title="1.4. Apache 2 许可证"> 1.4. Apache 2 许可证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/community.html#social-media');" title="1.5. 社交媒体"> 1.5. 社交媒体 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html');" title="2. Spring Security 5.1 的新增功能"> 2. Spring Security 5.1 的新增功能 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#servlet');" title="2.1. Servlet"> 2.1. Servlet </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#webflux');" title="2.2. WebFlux"> 2.2. WebFlux </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/new.html#integrations');" title="2.3. Integrations"> 2.3. Integrations </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html');" title="3. 获得 Spring Security"> 3. 获得 Spring Security </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#release-numbering');" title="3.1. 版本编号"> 3.1. 版本编号 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven');" title="3.2. Maven 的用法"> 3.2. Maven 的用法 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#spring-boot-with-maven');" title="3.2.1. Maven 的 Spring Boot"> 3.2.1. Maven 的 Spring Boot </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven-without-spring-boot');" title="3.2.2. 没有 Spring Boot 的 Maven"> 3.2.2. 没有 Spring Boot 的 Maven </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#maven-repositories');" title="3.2.3. Maven 存储库"> 3.2.3. Maven 存储库 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle');" title="3.3. Gradle"> 3.3. Gradle </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#spring-boot-with-gradle');" title="3.3.1. 带有 Gradle 的 Spring Boot"> 3.3.1. 带有 Gradle 的 Spring Boot </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle-without-spring-boot');" title="3.3.2. 不带 Spring Boot 的 Gradle"> 3.3.2. 不带 Spring Boot 的 Gradle </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/get-spring-security.html#gradle-repositories');" title="3.3.3. GradleRepositories"> 3.3.3. GradleRepositories </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html');" title="4. Project Modules"> 4. Project Modules </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-core');" title="4.1. 核心-spring-security-core.jar"> 4.1. 核心-spring-security-core.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-remoting');" title="4.2. 远程处理-spring-security-remoting.jar"> 4.2. 远程处理-spring-security-remoting.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-web');" title="4.3. 网络-spring-security-web.jar"> 4.3. 网络-spring-security-web.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-config');" title="4.4. 配置-spring-security-config.jar"> 4.4. 配置-spring-security-config.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-ldap');" title="4.5. LDAP-spring-security-ldap.jar"> 4.5. LDAP-spring-security-ldap.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-core');" title="4.6. OAuth 2.0 核心-spring-security-oauth2-core.jar"> 4.6. OAuth 2.0 核心-spring-security-oauth2-core.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-client');" title="4.7. OAuth 2.0Client 端-spring-security-oauth2-client.jar"> 4.7. OAuth 2.0Client 端-spring-security-oauth2-client.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-oauth2-jose');" title="4.8. OAuth 2.0 JOSE-spring-security-oauth2-jose.jar"> 4.8. OAuth 2.0 JOSE-spring-security-oauth2-jose.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-acl');" title="4.9. ACL-spring-security-acl.jar"> 4.9. ACL-spring-security-acl.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-cas');" title="4.10. CAS-spring-security-cas.jar"> 4.10. CAS-spring-security-cas.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-openid');" title="4.11. OpenID-spring-security-openid.jar"> 4.11. OpenID-spring-security-openid.jar </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/modules.html#spring-security-test');" title="4.12. 测试-spring-security-test.jar"> 4.12. 测试-spring-security-test.jar </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html');" title="5. Sample Applications"> 5. Sample Applications </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#tutorial-sample');" title="5.1. 教程 samples"> 5.1. 教程 samples </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#contacts-sample');" title="5.2. Contacts"> 5.2. Contacts </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#ldap-sample');" title="5.3. LDAP 示例"> 5.3. LDAP 示例 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#openid-sample');" title="5.4. OpenID 示例"> 5.4. OpenID 示例 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#cas-sample');" title="5.5. CASsamples"> 5.5. CASsamples </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#jaas-sample');" title="5.6. JAAS 示例"> 5.6. JAAS 示例 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/sample-apps.html#preauth-sample');" title="5.7. 身份验证前 samples"> 5.7. 身份验证前 samples </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-applications.html');" title="II. Servlet 应用程序"> II. Servlet 应用程序 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html');" title="6. Java Configuration"> 6. Java Configuration </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#hello-web-security-java-configuration');" title="6.1. Hello Web Security Java 配置"> 6.1. Hello Web Security Java 配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer');" title="6.1.1. AbstractSecurityWebApplicationInitializer"> 6.1.1. AbstractSecurityWebApplicationInitializer </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer-without-existing-spring');" title="6.1.2. 没有现有 Spring 的 AbstractSecurityWebApplicationInitializer"> 6.1.2. 没有现有 Spring 的 AbstractSecurityWebApplicationInitializer </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#abstractsecuritywebapplicationinitializer-with-spring-mvc');" title="带有 Spring MVC 的 6.1.3. AbstractSecurityWebApplicationInitializer"> 带有 Spring MVC 的 6.1.3. AbstractSecurityWebApplicationInitializer </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-httpsecurity');" title="6.2. HttpSecurity"> 6.2. HttpSecurity </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-form');" title="6.3. Java 配置和表单登录"> 6.3. Java 配置和表单登录 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authorize-requests');" title="6.4. 授权请求"> 6.4. 授权请求 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout');" title="6.5. 处理注销"> 6.5. 处理注销 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-handler');" title="6.5.1. LogoutHandler"> 6.5.1. LogoutHandler </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-success-handler');" title="6.5.2. LogoutSuccessHandler"> 6.5.2. LogoutSuccessHandler </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-logout-references');" title="6.5.3. 其他与注销有关的参考"> 6.5.3. 其他与注销有关的参考 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2client');" title="6.6. OAuth 2.0Client 端"> 6.6. OAuth 2.0Client 端 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-client-registration');" title="6.6.1. ClientRegistration"> 6.6.1. ClientRegistration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-client-registration-repo');" title="6.6.2. ClientRegistrationRepository"> 6.6.2. ClientRegistrationRepository </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorized-client');" title="6.6.3. OAuth2AuthorizedClient"> 6.6.3. OAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorized-repo-service');" title="6.6.4. OAuth2AuthorizedClientRepository/OAuth2AuthorizedClientService"> 6.6.4. OAuth2AuthorizedClientRepository/OAuth2AuthorizedClientService </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-registered-authorized-client');" title="6.6.5. RegisteredOAuth2AuthorizedClient"> 6.6.5. RegisteredOAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorization-request-repository');" title="6.6.6. AuthorizationRequestRepository"> 6.6.6. AuthorizationRequestRepository </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-authorization-request-resolver');" title="6.6.7. OAuth2AuthorizationRequestResolver"> 6.6.7. OAuth2AuthorizationRequestResolver </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2Client-access-token-client');" title="6.6.8. OAuth2AccessTokenResponseClient"> 6.6.8. OAuth2AccessTokenResponseClient </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login');" title="6.7. OAuth 2.0 登录"> 6.7. OAuth 2.0 登录 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-boot');" title="6.7.1. Spring Boot 2.xsamples"> 6.7.1. Spring Boot 2.xsamples </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-initial-setup');" title="Initial setup"> Initial setup </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-redirect-uri');" title="设置重定向 URI"> 设置重定向 URI </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-application-config');" title="Configure application.yml"> Configure application.yml </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-sample-boot-application');" title="启动应用程序"> 启动应用程序 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-boot-property-mappings');" title="6.7.2. Spring Boot 2.x 属性 Map"> 6.7.2. Spring Boot 2.x 属性 Map </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-common-oauth2-provider');" title="6.7.3. CommonOAuth2Provider"> 6.7.3. CommonOAuth2Provider </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-custom-provider-properties');" title="6.7.4. 配置自定义提供程序属性"> 6.7.4. 配置自定义提供程序属性 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-override-boot-autoconfig');" title="6.7.5. 覆盖 Spring Boot 2.x 自动配置"> 6.7.5. 覆盖 Spring Boot 2.x 自动配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-register-clientregistrationrepository-bean');" title="注册一个 ClientRegistrationRepository @Bean"> 注册一个 ClientRegistrationRepository @Bean </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-provide-websecurityconfigureradapter');" title="提供一个 WebSecurityConfigurerAdapter"> 提供一个 WebSecurityConfigurerAdapter </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-completely-override-autoconfiguration');" title="完全覆盖自动配置"> 完全覆盖自动配置 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-javaconfig-wo-boot');" title="6.7.6. 没有 Spring Boot 2.x 的 Java 配置"> 6.7.6. 没有 Spring Boot 2.x 的 Java 配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2login-resources');" title="6.7.7. 其他资源"> 6.7.7. 其他资源 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver');" title="6.8. OAuth 2.0 资源服务器"> 6.8. OAuth 2.0 资源服务器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#dependencies');" title="6.8.1. Dependencies"> 6.8.1. Dependencies </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-minimalconfiguration');" title="6.8.2. 最低配置"> 6.8.2. 最低配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#specifying-the-authorization-server');" title="指定授权服务器"> 指定授权服务器 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#startup-expectations');" title="Startup Expectations"> Startup Expectations </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#runtime-expectations');" title="Runtime Expectations"> Runtime Expectations </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-jwkseturi');" title="6.8.3. 直接指定授权服务器 JWK 设置 Uri"> 6.8.3. 直接指定授权服务器 JWK 设置 Uri </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-sansboot');" title="6.8.4. 覆盖或替换引导自动配置"> 6.8.4. 覆盖或替换引导自动配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-jwkseturi-dsl');" title="Using jwkSetUri()"> Using jwkSetUri() </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-decoder-dsl');" title="Using decoder()"> Using decoder() </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-decoder-bean');" title="公开一个 JwtDecoder @Bean"> 公开一个 JwtDecoder @Bean </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-authorization');" title="6.8.5. 配置授权"> 6.8.5. 配置授权 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-authorization-extraction');" title="手动提取权限"> 手动提取权限 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation');" title="6.8.6. 配置验证"> 6.8.6. 配置验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation-clockskew');" title="自定义时间戳验证"> 自定义时间戳验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-validation-custom');" title="配置自定义验证器"> 配置自定义验证器 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping');" title="6.8.7. 配置声明集 Map"> 6.8.7. 配置声明集 Map </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-singleclaim');" title="自定义单个索赔的转换"> 自定义单个索赔的转换 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-add');" title="添加索赔"> 添加索赔 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-remove');" title="删除索赔"> 删除索赔 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-claimsetmapping-rename');" title="重命名索赔"> 重命名索赔 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#oauth2resourceserver-timeouts');" title="6.8.8. 配置超时"> 6.8.8. 配置超时 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication');" title="6.9. Authentication"> 6.9. Authentication </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-inmemory');" title="6.9.1. 内存中身份验证"> 6.9.1. 内存中身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-jdbc');" title="6.9.2. JDBC 身份验证"> 6.9.2. JDBC 身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#ldap-authentication');" title="6.9.3. LDAP 认证"> 6.9.3. LDAP 认证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-authenticationprovider');" title="6.9.4. AuthenticationProvider"> 6.9.4. AuthenticationProvider </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-authentication-userdetailsservice');" title="6.9.5. UserDetailsService"> 6.9.5. UserDetailsService </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#multiple-httpsecurity');" title="6.10. 多个 HttpSecurity"> 6.10. 多个 HttpSecurity </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-method');" title="6.11. 方法安全性"> 6.11. 方法安全性 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#enableglobalmethodsecurity');" title="6.11.1. EnableGlobalMethodSecurity"> 6.11.1. EnableGlobalMethodSecurity </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#globalmethodsecurityconfiguration');" title="6.11.2. GlobalMethodSecurityConfiguration"> 6.11.2. GlobalMethodSecurityConfiguration </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#post-processing-configured-objects');" title="6.12. 后处理配置的对象"> 6.12. 后处理配置的对象 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc.html#jc-custom-dsls');" title="6.13. 自定义 DSL"> 6.13. 自定义 DSL </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html');" title="7. 安全命名空间配置"> 7. 安全命名空间配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#introduction');" title="7.1. Introduction"> 7.1. Introduction </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#design-of-the-namespace');" title="7.1.1. 命名空间的设计"> 7.1.1. 命名空间的设计 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-getting-started');" title="7.2. 安全命名空间配置入门"> 7.2. 安全命名空间配置入门 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-web-xml');" title="7.2.1. web.xml 配置"> 7.2.1. web.xml 配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-minimal');" title="7.2.2. 最小<http>配置"> 7.2.2. 最小&lt;http&gt;配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-form-and-basic');" title="7.2.3. 表单和基本登录选项"> 7.2.3. 表单和基本登录选项 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-form-target');" title="设置默认的登录后目标"> 设置默认的登录后目标 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-logout');" title="7.2.4. 注销处理"> 7.2.4. 注销处理 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-auth-providers');" title="7.2.5. 使用其他身份验证提供程序"> 7.2.5. 使用其他身份验证提供程序 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-password-encoder');" title="添加密码编码器"> 添加密码编码器 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-web-advanced');" title="7.3. 高级网络功能"> 7.3. 高级网络功能 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-remember-me');" title="7.3.1. 记住我身份验证"> 7.3.1. 记住我身份验证 </a> </li> 
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-requires-channel');" title="7.3.2. 添加 HTTP/HTTPS 通道安全性"> 7.3.2. 添加 HTTP/HTTPS 通道安全性 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-session-mgmt');" title="7.3.3. 会话 Management"> 7.3.3. 会话 Management </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#detecting-timeouts');" title="Detecting Timeouts"> Detecting Timeouts </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-concurrent-sessions');" title="并发会话控制"> 并发会话控制 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-session-fixation');" title="会话固定攻击防护"> 会话固定攻击防护 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-openid');" title="7.3.4. OpenID 支持"> 7.3.4. OpenID 支持 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#attribute-exchange');" title="Attribute Exchange"> Attribute Exchange </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-headers');" title="7.3.5. 响应标题"> 7.3.5. 响应标题 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-custom-filters');" title="7.3.6. 添加您自己的过滤器"> 7.3.6. 添加您自己的过滤器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-entry-point-ref');" title="设置自定义 AuthenticationEntryPoint"> 设置自定义 AuthenticationEntryPoint </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-method-security');" title="7.4. 方法安全性"> 7.4. 方法安全性 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-global-method');" title="7.4.1. <global-method-security>元素"> 7.4.1. &lt;global-method-security&gt;元素 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-protect-pointcut');" title="使用保护切入点添加安全切入点"> 使用保护切入点添加安全切入点 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-access-manager');" title="7.5. 默认的 AccessDecisionManager"> 7.5. 默认的 AccessDecisionManager </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-custom-access-mgr');" title="7.5.1. 自定义 AccessDecisionManager"> 7.5.1. 自定义 AccessDecisionManager </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/ns-config.html#ns-auth-manager');" title="7.6. 身份验证 Management 器和命名空间"> 7.6. 身份验证 Management 器和命名空间 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html');" title="8. 架构与实施"> 8. 架构与实施 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#technical-overview');" title="8.1. 技术概述"> 8.1. 技术概述 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#runtime-environment');" title="8.1.1. 运行时环境"> 8.1.1. 运行时环境 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-components');" title="8.1.2. 核心组件"> 8.1.2. 核心组件 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#securitycontextholder-securitycontext-and-authentication-objects');" title="SecurityContextHolder，SecurityContext 和身份验证对象"> SecurityContextHolder，SecurityContext 和身份验证对象 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-userdetailsservice');" title="The UserDetailsService"> The UserDetailsService </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-granted-authority');" title="GrantedAuthority"> GrantedAuthority </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#summary');" title="Summary"> Summary </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-authentication');" title="8.1.3. Authentication"> 8.1.3. Authentication </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#what-is-authentication-in-spring-security');" title="Spring Security 中的身份验证是什么？"> Spring Security 中的身份验证是什么？ </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#setting-the-securitycontextholder-contents-directly');" title="直接设置 SecurityContextHolder 内容"> 直接设置 SecurityContextHolder 内容 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-web-authentication');" title="8.1.4. Web 应用程序中的身份验证"> 8.1.4. Web 应用程序中的身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#exceptiontranslationfilter');" title="ExceptionTranslationFilter"> ExceptionTranslationFilter </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-auth-entry-point');" title="AuthenticationEntryPoint"> AuthenticationEntryPoint </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#authentication-mechanism');" title="Authentication Mechanism"> Authentication Mechanism </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-sec-context-persistence');" title="在请求之间存储 SecurityContext"> 在请求之间存储 SecurityContext </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#tech-intro-access-control');" title="8.1.5. Spring Security 中的访问控制(授权)"> 8.1.5. Spring Security 中的访问控制(授权) </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#security-and-aop-advice');" title="安全和 AOP 建议"> 安全和 AOP 建议 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#secure-objects');" title="安全对象和 AbstractSecurityInterceptor"> 安全对象和 AbstractSecurityInterceptor </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#localization');" title="8.1.6. Localization"> 8.1.6. Localization </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services');" title="8.2. 核心服务"> 8.2. 核心服务 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-authentication-manager');" title="8.2.1. AuthenticationManager，ProviderManager 和 AuthenticationProvider"> 8.2.1. AuthenticationManager，ProviderManager 和 AuthenticationProvider </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-erasing-credentials');" title="清除成功认证的凭据"> 清除成功认证的凭据 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-dao-provider');" title="DaoAuthenticationProvider"> DaoAuthenticationProvider </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#userdetailsservice-implementations');" title="8.2.2. UserDetailsService 实施"> 8.2.2. UserDetailsService 实施 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-in-memory-service');" title="In-Memory Authentication"> In-Memory Authentication </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-jdbc-user-service');" title="JdbcDaoImpl"> JdbcDaoImpl </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#core-services-password-encoding');" title="8.2.3. 密码编码"> 8.2.3. 密码编码 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-history');" title="Password History"> Password History </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-dpe');" title="DelegatingPasswordEncoder"> DelegatingPasswordEncoder </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-bcpe');" title="BCryptPasswordEncoder"> BCryptPasswordEncoder </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-pbkdf2pe');" title="Pbkdf2PasswordEncoder"> Pbkdf2PasswordEncoder </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#pe-scpe');" title="SCryptPasswordEncoder"> SCryptPasswordEncoder </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#other-passwordencoders');" title="Other PasswordEncoders"> Other PasswordEncoders </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/overall-architecture.html#jackson');" title="8.2.4. Jackson 支持"> 8.2.4. Jackson 支持 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html');" title="9. Testing"> 9. Testing </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method');" title="9.1. 测试方法的安全性"> 9.1. 测试方法的安全性 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-setup');" title="9.1.1. 安全测试设置"> 9.1.1. 安全测试设置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withmockuser');" title="9.1.2. @WithMockUser"> 9.1.2. @WithMockUser </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withanonymoususer');" title="9.1.3. @WithAnonymousUser"> 9.1.3. @WithAnonymousUser </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withuserdetails');" title="9.1.4. @WithUserDetails"> 9.1.4. @WithUserDetails </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-withsecuritycontext');" title="9.1.5. @WithSecurityContext"> 9.1.5. @WithSecurityContext </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-method-meta-annotations');" title="9.1.6. 测试元 Comments"> 9.1.6. 测试元 Comments </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc');" title="9.2. Spring MVC 测试集成"> 9.2. Spring MVC 测试集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-setup');" title="9.2.1. 设置 MockMvc 和 Spring Security"> 9.2.1. 设置 MockMvc 和 Spring Security </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-smmrpp');" title="9.2.2. SecurityMockMvcRequestPostProcessors"> 9.2.2. SecurityMockMvcRequestPostProcessors </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-csrf');" title="使用 CSRF 保护进行测试"> 使用 CSRF 保护进行测试 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-securitycontextholder');" title="在 Spring MVC 测试中以用户身份运行测试"> 在 Spring MVC 测试中以用户身份运行测试 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-mockmvc-securitycontextholder-rpp');" title="在 Spring MVC Test 中使用 RequestPostProcessor 以用户身份运行"> 在 Spring MVC Test 中使用 RequestPostProcessor 以用户身份运行 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#testing-http-basic-authentication');" title="测试 HTTP 基本身份验证"> 测试 HTTP 基本身份验证 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#securitymockmvcrequestbuilders');" title="9.2.3. SecurityMockMvcRequestBuilders"> 9.2.3. SecurityMockMvcRequestBuilders </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#testing-form-based-authentication');" title="测试基于表单的身份验证"> 测试基于表单的身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#test-logout');" title="Testing Logout"> Testing Logout </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#securitymockmvcresultmatchers');" title="9.2.4. SecurityMockMvcResultMatchers"> 9.2.4. SecurityMockMvcResultMatchers </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#unauthenticated-assertion');" title="Unauthenticated Assertion"> Unauthenticated Assertion </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test.html#authenticated-assertion');" title="Authenticated Assertion"> Authenticated Assertion </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html');" title="10. Web 应用安全"> 10. Web 应用安全 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-filter-chain');" title="10.1. 安全筛选器链"> 10.1. 安全筛选器链 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#delegating-filter-proxy');" title="10.1.1. DelegatingFilterProxy"> 10.1.1. DelegatingFilterProxy </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-chain-proxy');" title="10.1.2. FilterChainProxy"> 10.1.2. FilterChainProxy </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#bypassing-the-filter-chain');" title="绕过过滤链"> 绕过过滤链 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-ordering');" title="10.1.3. 过滤器 Order"> 10.1.3. 过滤器 Order </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#request-matching');" title="10.1.4. 请求匹配和 HttpFirewall"> 10.1.4. 请求匹配和 HttpFirewall </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#use-with-other-filter-based-frameworks');" title="10.1.5. 与其他基于过滤器的框架一起使用"> 10.1.5. 与其他基于过滤器的框架一起使用 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-chains-with-ns');" title="10.1.6. 高级命名空间配置"> 10.1.6. 高级命名空间配置 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#core-web-filters');" title="10.2. 核心安全过滤器"> 10.2. 核心安全过滤器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#filter-security-interceptor');" title="10.2.1. FilterSecurityInterceptor"> 10.2.1. FilterSecurityInterceptor </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#exception-translation-filter');" title="10.2.2. ExceptionTranslationFilter"> 10.2.2. ExceptionTranslationFilter </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#auth-entry-point');" title="AuthenticationEntryPoint"> AuthenticationEntryPoint </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#access-denied-handler');" title="AccessDeniedHandler"> AccessDeniedHandler </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#request-caching');" title="SavedRequest 和 RequestCache 接口"> SavedRequest 和 RequestCache 接口 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-context-persistence-filter');" title="10.2.3. SecurityContextPersistenceFilter"> 10.2.3. SecurityContextPersistenceFilter </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#security-context-repository');" title="SecurityContextRepository"> SecurityContextRepository </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#form-login-filter');" title="10.2.4. UsernamePasswordAuthenticationFilter"> 10.2.4. UsernamePasswordAuthenticationFilter </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#form-login-flow-handling');" title="认证成功与失败的应用流程"> 认证成功与失败的应用流程 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi');" title="10.3. Servlet API 集成"> 10.3. Servlet API 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-25');" title="10.3.1. Servlet 2.5 集成"> 10.3.1. Servlet 2.5 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-remote-user');" title="HttpServletRequest.getRemoteUser()"> HttpServletRequest.getRemoteUser() </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-user-principal');" title="HttpServletRequest.getUserPrincipal()"> HttpServletRequest.getUserPrincipal() </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-user-in-role');" title="HttpServletRequest.isUserInRole(String)"> HttpServletRequest.isUserInRole(String) </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-3');" title="10.3.2. Servlet 3 集成"> 10.3.2. Servlet 3 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-authenticate');" title="HttpServletRequest.authenticate(HttpServletRequest,HttpServletResponse)"> HttpServletRequest.authenticate(HttpServletRequest,HttpServletResponse) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-login');" title="HttpServletRequest.login(String,String)"> HttpServletRequest.login(String,String) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-logout');" title="HttpServletRequest.logout()"> HttpServletRequest.logout() </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-start-runnable');" title="AsyncContext.start(Runnable)"> AsyncContext.start(Runnable) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-async');" title="异步 Servlet 支持"> 异步 Servlet 支持 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-31');" title="10.3.3. Servlet 3.1 集成"> 10.3.3. Servlet 3.1 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#servletapi-change-session-id');" title="HttpServletRequest#changeSessionId()"> HttpServletRequest#changeSessionId() </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic');" title="10.4. 基本身份验证和摘要身份验证"> 10.4. 基本身份验证和摘要身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic-processing-filter');" title="10.4.1. BasicAuthenticationFilter"> 10.4.1. BasicAuthenticationFilter </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#basic-config');" title="Configuration"> Configuration </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#digest-processing-filter');" title="10.4.2. DigestAuthenticationFilter"> 10.4.2. DigestAuthenticationFilter </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#digest-config');" title="Configuration"> Configuration </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me');" title="10.5. 记住我身份验证"> 10.5. 记住我身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-overview');" title="10.5.1. Overview"> 10.5.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-hash-token');" title="10.5.2. 基于哈希的简单令牌方法"> 10.5.2. 基于哈希的简单令牌方法 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-persistent-token');" title="10.5.3. 永久令牌方法"> 10.5.3. 永久令牌方法 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#remember-me-impls');" title="10.5.4. 记住我的界面和实现"> 10.5.4. 记住我的界面和实现 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#tokenbasedremembermeservices');" title="TokenBasedRememberMeServices"> TokenBasedRememberMeServices </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#persistenttokenbasedremembermeservices');" title="PersistentTokenBasedRememberMeServices"> PersistentTokenBasedRememberMeServices </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf');" title="10.6. 跨站请求伪造(CSRF)"> 10.6. 跨站请求伪造(CSRF) </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-attacks');" title="10.6.1. CSRF 攻击"> 10.6.1. CSRF 攻击 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#synchronizer-token-pattern');" title="10.6.2. 同步器令牌模式"> 10.6.2. 同步器令牌模式 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#when-to-use-csrf-protection');" title="10.6.3. 何时使用 CSRF 保护"> 10.6.3. 何时使用 CSRF 保护 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-protection-and-json');" title="CSRF 保护和 JSON"> CSRF 保护和 JSON </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-and-stateless-browser-applications');" title="CSRF 和 Stateless 浏览器应用程序"> CSRF 和 Stateless 浏览器应用程序 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-using');" title="10.6.4. 使用 Spring Security CSRF 保护"> 10.6.4. 使用 Spring Security CSRF 保护 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-use-proper-verbs');" title="使用正确的 HTTP 动词"> 使用正确的 HTTP 动词 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-configure');" title="配置 CSRF 保护"> 配置 CSRF 保护 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-include-csrf-token');" title="包括 CSRF 令牌"> 包括 CSRF 令牌 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-caveats');" title="10.6.5. CSRF 警告"> 10.6.5. CSRF 警告 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-timeouts');" title="Timeouts"> Timeouts </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-login');" title="Logging In"> Logging In </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-logout');" title="Logging Out"> Logging Out </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#csrf-multipart');" title="分段(文件上传)"> 分段(文件上传) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#hiddenhttpmethodfilter');" title="HiddenHttpMethodFilter"> HiddenHttpMethodFilter </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#overriding-defaults');" title="10.6.6. 覆盖默认值"> 10.6.6. 覆盖默认值 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#cors');" title="10.7. CORS"> 10.7. CORS </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers');" title="10.8. 安全 HTTP 响应 Headers"> 10.8. 安全 HTTP 响应 Headers </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#default-security-headers');" title="10.8.1. 默认安全标题"> 10.8.1. 默认安全标题 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-cache-control');" title="Cache Control"> Cache Control </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-content-type-options');" title="Content Type 选项"> Content Type 选项 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-hsts');" title="HTTP 严格传输安全性(HSTS)"> HTTP 严格传输安全性(HSTS) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-hpkp');" title="HTTP 公钥固定(HPKP)"> HTTP 公钥固定(HPKP) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-frame-options');" title="X-Frame-Options"> X-Frame-Options </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-xss-protection');" title="X-XSS-Protection"> X-XSS-Protection </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-csp');" title="内容安全 Policy(CSP)"> 内容安全 Policy(CSP) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-referrer');" title="Referrer Policy"> Referrer Policy </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-feature');" title="Feature Policy"> Feature Policy </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-custom');" title="10.8.2. 自定义标题"> 10.8.2. 自定义标题 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-static');" title="Static Headers"> Static Headers </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-writer');" title="Headers Writer"> Headers Writer </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#headers-delegatingrequestmatcherheaderwriter');" title="DelegatingRequestMatcherHeaderWriter"> DelegatingRequestMatcherHeaderWriter </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#session-mgmt');" title="10.9. 会话 Management"> 10.9. 会话 Management </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#sessionmanagementfilter');" title="10.9.1. SessionManagementFilter"> 10.9.1. SessionManagementFilter </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#sessionauthenticationstrategy');" title="10.9.2. SessionAuthenticationStrategy"> 10.9.2. SessionAuthenticationStrategy </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#concurrent-sessions');" title="10.9.3. 并发控制"> 10.9.3. 并发控制 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#list-authenticated-principals');" title="查询 SessionRegistry 中当前经过身份验证的用户及其会话"> 查询 SessionRegistry 中当前经过身份验证的用户及其会话 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous');" title="10.10. 匿名身份验证"> 10.10. 匿名身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-overview');" title="10.10.1. Overview"> 10.10.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-config');" title="10.10.2. Configuration"> 10.10.2. Configuration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#anonymous-auth-trust-resolver');" title="10.10.3. AuthenticationTrustResolver"> 10.10.3. AuthenticationTrustResolver </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket');" title="10.11. WebSocket 安全"> 10.11. WebSocket 安全 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-configuration');" title="10.11.1. WebSocket 配置"> 10.11.1. WebSocket 配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authentication');" title="10.11.2. WebSocket 身份验证"> 10.11.2. WebSocket 身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization');" title="10.11.3. WebSocket 授权"> 10.11.3. WebSocket 授权 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization-notes');" title="WebSocket 授权说明"> WebSocket 授权说明 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-authorization-notes-outbound');" title="Outbound Messages"> Outbound Messages </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin');" title="10.11.4. 实施同一原产地 Policy"> 10.11.4. 实施同一原产地 Policy </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-why');" title="为什么起源相同？"> 为什么起源相同？ </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-spring');" title="Spring WebSocket 允许的来源"> Spring WebSocket 允许的来源 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-csrf');" title="将 CSRF 添加到 StompHeaders"> 将 CSRF 添加到 StompHeaders </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sameorigin-disable');" title="在 WebSockets 中禁用 CSRF"> 在 WebSockets 中禁用 CSRF </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs');" title="10.11.5. 使用 SockJS"> 10.11.5. 使用 SockJS </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs-sameorigin');" title="SockJS 和框架选项"> SockJS 和框架选项 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/web-app-security.html#websocket-sockjs-csrf');" title="SockJS 和令人放松的 CSRF"> SockJS 和令人放松的 CSRF </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html');" title="11. Authorization"> 11. Authorization </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-arch');" title="11.1. 授权架构"> 11.1. 授权架构 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-authorities');" title="11.1.1. Authorities"> 11.1.1. Authorities </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-pre-invocation');" title="11.1.2. 调用前处理"> 11.1.2. 调用前处理 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-access-decision-manager');" title="The AccessDecisionManager"> The AccessDecisionManager </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-voting-based');" title="基于投票的 AccessDecisionManager 实现"> 基于投票的 AccessDecisionManager 实现 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-after-invocation-handling');" title="11.1.3. 调用处理后"> 11.1.3. 调用处理后 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#authz-hierarchical-roles');" title="11.1.4. 分层角色"> 11.1.4. 分层角色 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#secure-object-impls');" title="11.2. 安全对象的实现"> 11.2. 安全对象的实现 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#aop-alliance');" title="11.2.1. AOPunion(方法调用)安全拦截器"> 11.2.1. AOPunion(方法调用)安全拦截器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#explicit-methodsecurityinterceptor-configuration');" title="显式方法 SecurityInterceptor 配置"> 显式方法 SecurityInterceptor 配置 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#aspectj');" title="11.2.2. AspectJ(JoinPoint)安全拦截器"> 11.2.2. AspectJ(JoinPoint)安全拦截器 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access');" title="11.3. 基于表达式的访问控制"> 11.3. 基于表达式的访问控制 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#overview');" title="11.3.1. Overview"> 11.3.1. Overview </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-common-built-in');" title="常见的内置表达式"> 常见的内置表达式 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web');" title="11.3.2. Web 安全表达式"> 11.3.2. Web 安全表达式 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web-beans');" title="在 Web 安全表达式中引用 Bean"> 在 Web 安全表达式中引用 Bean </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-access-web-path-variables');" title="Web 安全表达式中的路径变量"> Web 安全表达式中的路径变量 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#method-security-expressions');" title="11.3.3. 方法安全性表达式"> 11.3.3. 方法安全性表达式 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-pre-post-annotations');" title="@Pre 和@Post 注解"> @Pre 和@Post 注解 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/authorization.html#el-method-built-in');" title="Built-In Expressions"> Built-In Expressions </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html');" title="12. Additional Topics"> 12. Additional Topics </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls');" title="12.1. 域对象安全性(ACL)"> 12.1. 域对象安全性(ACL) </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-overview');" title="12.1.1. Overview"> 12.1.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-key-concepts');" title="12.1.2. 关键概念"> 12.1.2. 关键概念 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#domain-acls-getting-started');" title="12.1.3. 使用入门"> 12.1.3. 使用入门 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#preauth');" title="12.2. 预身份验证方案"> 12.2. 预身份验证方案 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#pre-authentication-framework-classes');" title="12.2.1. 预身份验证框架类"> 12.2.1. 预身份验证框架类 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#abstractpreauthenticatedprocessingfilter');" title="AbstractPreAuthenticatedProcessingFilter"> AbstractPreAuthenticatedProcessingFilter </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#preauthenticatedauthenticationprovider');" title="PreAuthenticatedAuthenticationProvider"> PreAuthenticatedAuthenticationProvider </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#http403forbiddenentrypoint');" title="Http403ForbiddenEntryPoint"> Http403ForbiddenEntryPoint </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#concrete-implementations');" title="12.2.2. 具体实施"> 12.2.2. 具体实施 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#request-header-authentication-siteminder');" title="请求 Headers 验证(Siteminder)"> 请求 Headers 验证(Siteminder) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#java-ee-container-authentication');" title="Java EE 容器认证"> Java EE 容器认证 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap');" title="12.3. LDAP 认证"> 12.3. LDAP 认证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-overview');" title="12.3.1. Overview"> 12.3.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-ldap-with-spring-security');" title="12.3.2. 将 LDAP 与 Spring Security 结合使用"> 12.3.2. 将 LDAP 与 Spring Security 结合使用 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-server');" title="12.3.3. 配置 LDAP 服务器"> 12.3.3. 配置 LDAP 服务器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-an-embedded-test-server');" title="使用嵌入式测试服务器"> 使用嵌入式测试服务器 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#using-bind-authentication');" title="使用绑定身份验证"> 使用绑定身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#loading-authorities');" title="Loading Authorities"> Loading Authorities </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#implementation-classes');" title="12.3.4. 实现类"> 12.3.4. 实现类 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-ldap-authenticators');" title="LdapAuthenticator Implementations"> LdapAuthenticator Implementations </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-context-source');" title="连接到 LDAP 服务器"> 连接到 LDAP 服务器 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-searchobjects');" title="LDAP 搜索对象"> LDAP 搜索对象 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-authorities');" title="LdapAuthoritiesPopulator"> LdapAuthoritiesPopulator </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-bean-config');" title="Spring Bean 配置"> Spring Bean 配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-custom-user-details');" title="LDAP 属性和自定义的用户详细信息"> LDAP 属性和自定义的用户详细信息 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#ldap-active-directory');" title="12.3.5. Active Directory 身份验证"> 12.3.5. Active Directory 身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#activedirectoryldapauthenticationprovider');" title="ActiveDirectoryLdapAuthenticationProvider"> ActiveDirectoryLdapAuthenticationProvider </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced');" title="12.4. OAuth 2.0 登录—高级配置"> 12.4. OAuth 2.0 登录—高级配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-login-page');" title="12.4.1. OAuth 2.0 登录页面"> 12.4.1. OAuth 2.0 登录页面 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-redirection-endpoint');" title="12.4.2. 重定向端点"> 12.4.2. 重定向端点 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-userinfo-endpoint');" title="12.4.3. UserInfo 端点"> 12.4.3. UserInfo 端点 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-map-authorities');" title="Map 用户权限"> Map 用户权限 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-custom-user');" title="配置自定义 OAuth2User"> 配置自定义 OAuth2User </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-oauth2-user-service');" title="OAuth 2.0 UserService"> OAuth 2.0 UserService </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/advanced-topics.html#oauth2login-advanced-oidc-user-service');" title="OpenID Connect 1.0 用户服务"> OpenID Connect 1.0 用户服务 </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html');" title="13. Servlet 环境的 WebClient"> 13. Servlet 环境的 WebClient </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-setup');" title="13.1. WebClient OAuth2 设置"> 13.1. WebClient OAuth2 设置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-implicit');" title="13.2. 隐式 OAuth2AuthorizedClient"> 13.2. 隐式 OAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-explicit');" title="13.3. 明确的 OAuth2AuthorizedClient"> 13.3. 明确的 OAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#servlet-webclient-clientregistrationid');" title="13.4. clientRegistrationId"> 13.4. clientRegistrationId </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#taglibs');" title="13.5. JSP 标记库"> 13.5. JSP 标记库 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#declaring-the-taglib');" title="13.5.1. 声明 Taglib"> 13.5.1. 声明 Taglib </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#taglibs-authorize');" title="13.5.2. 授权标签"> 13.5.2. 授权标签 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#disabling-tag-authorization-for-testing');" title="禁用测试的标签授权"> 禁用测试的标签授权 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-authentication-tag');" title="13.5.3. 身份验证标签"> 13.5.3. 身份验证标签 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-accesscontrollist-tag');" title="13.5.4. accesscontrollist 标记"> 13.5.4. accesscontrollist 标记 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-csrfinput-tag');" title="13.5.5. csrfInput 标签"> 13.5.5. csrfInput 标签 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#the-csrfmetatags-tag');" title="13.5.6. csrfMetaTags 标记"> 13.5.6. csrfMetaTags 标记 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas');" title="13.6. Java 身份验证和授权服务(JAAS)提供程序"> 13.6. Java 身份验证和授权服务(JAAS)提供程序 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#overview-2');" title="13.6.1. Overview"> 13.6.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-abstractjaasauthenticationprovider');" title="13.6.2. AbstractJaasAuthenticationProvider"> 13.6.2. AbstractJaasAuthenticationProvider </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-callbackhandler');" title="JAAS CallbackHandler"> JAAS CallbackHandler </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-authoritygranter');" title="JAAS AuthorityGranter"> JAAS AuthorityGranter </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-defaultjaasauthenticationprovider');" title="13.6.3. DefaultJaasAuthenticationProvider"> 13.6.3. DefaultJaasAuthenticationProvider </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-inmemoryconfiguration');" title="InMemoryConfiguration"> InMemoryConfiguration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-djap-config');" title="DefaultJaasAuthenticationProvider 示例配置"> DefaultJaasAuthenticationProvider 示例配置 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-jaasauthenticationprovider');" title="13.6.4. JaasAuthenticationProvider"> 13.6.4. JaasAuthenticationProvider </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#jaas-apiprovision');" title="13.6.5. 以主题身份 Running"> 13.6.5. 以主题身份 Running </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas');" title="13.7. CAS 验证"> 13.7. CAS 验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-overview');" title="13.7.1. Overview"> 13.7.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-how-it-works');" title="13.7.2. CAS 的工作方式"> 13.7.2. CAS 的工作方式 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-sequence');" title="Spring Security 和 CAS 交互序列"> Spring Security 和 CAS 交互序列 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-client');" title="13.7.3. CASClient 端的配置"> 13.7.3. CASClient 端的配置 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-st');" title="服务票证认证"> 服务票证认证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-singlelogout');" title="Single Logout"> Single Logout </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-pt-client');" title="通过 CAS 向 Stateless 服务进行身份验证"> 通过 CAS 向 Stateless 服务进行身份验证 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#cas-pt');" title="代理票证认证"> 代理票证认证 </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509');" title="13.8. X.509 身份验证"> 13.8. X.509 身份验证 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509-overview');" title="13.8.1. Overview"> 13.8.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#adding-x-509-authentication-to-your-web-application');" title="13.8.2. 将 X.509 身份验证添加到 Web 应用程序"> 13.8.2. 将 X.509 身份验证添加到 Web 应用程序 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#x509-ssl-config');" title="13.8.3. 在 Tomcat 中设置 SSL"> 13.8.3. 在 Tomcat 中设置 SSL </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas');" title="13.9. 运行身份验证替换"> 13.9. 运行身份验证替换 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas-overview');" title="13.9.1. Overview"> 13.9.1. Overview </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#runas-config');" title="13.9.2. Configuration"> 13.9.2. Configuration </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#crypto');" title="13.10. Spring Security 加密模块"> 13.10. Spring Security 加密模块 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-introduction');" title="13.10.1. Introduction"> 13.10.1. Introduction </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption');" title="13.10.2. Encryptors"> 13.10.2. Encryptors </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption-bytes');" title="BytesEncryptor"> BytesEncryptor </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-encryption-text');" title="TextEncryptor"> TextEncryptor </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-keygenerators');" title="13.10.3. 密钥生成器"> 13.10.3. 密钥生成器 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#byteskeygenerator');" title="BytesKeyGenerator"> BytesKeyGenerator </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#stringkeygenerator');" title="StringKeyGenerator"> StringKeyGenerator </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-crypto-passwordencoders');" title="13.10.4. 密码编码"> 13.10.4. 密码编码 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#concurrency');" title="13.11. 并发支持"> 13.11. 并发支持 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#delegatingsecuritycontextrunnable');" title="13.11.1. DelegatingSecurityContextRunnable"> 13.11.1. DelegatingSecurityContextRunnable </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#delegatingsecuritycontextexecutor');" title="13.11.2. DelegatingSecurityContextExecutor"> 13.11.2. DelegatingSecurityContextExecutor </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#spring-security-concurrency-classes');" title="13.11.3. Spring Security 并发类"> 13.11.3. Spring Security 并发类 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc');" title="13.12. Spring MVC 集成"> 13.12. Spring MVC 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-enablewebmvcsecurity');" title="13.12.1. @EnableWebMvcSecurity"> 13.12.1. @EnableWebMvcSecurity </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-requestmatcher');" title="13.12.2. MvcRequestMatcher"> 13.12.2. MvcRequestMatcher </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-authentication-principal');" title="13.12.3. @AuthenticationPrincipal"> 13.12.3. @AuthenticationPrincipal </a> </li>
 <li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-async');" title="13.12.4. Spring MVC 异步集成"> 13.12.4. Spring MVC 异步集成 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-csrf');" title="13.12.5. Spring MVC 和 CSRF 集成"> 13.12.5. Spring MVC 和 CSRF 集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#automatic-token-inclusion');" title="自动令牌包含"> 自动令牌包含 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/servlet-webclient.html#mvc-csrf-resolver');" title="解析 CsrfToken"> 解析 CsrfToken </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html');" title="14. Spring 数据集成"> 14. Spring 数据集成 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html#data-configuration');" title="14.1. Spring 数据和 Spring 安全性配置"> 14.1. Spring 数据和 Spring 安全性配置 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/data.html#data-query');" title="14.2. @Query 中的安全表达式"> 14.2. @Query 中的安全表达式 </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html');" title="15. Appendix"> 15. Appendix </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-schema');" title="15.1. 安全数据库架构"> 15.1. 安全数据库架构 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#user-schema');" title="15.1.1. 用户架构"> 15.1.1. 用户架构 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#for-oracle-database');" title="对于 Oracle 数据库"> 对于 Oracle 数据库 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#group-authorities');" title="Group Authorities"> Group Authorities </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#persistent-login-remember-me-schema');" title="15.1.2. 永久登录(记住我)架构"> 15.1.2. 永久登录(记住我)架构 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#dbschema-acl');" title="15.1.3. ACL 架构"> 15.1.3. ACL 架构 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#hypersql');" title="HyperSQL"> HyperSQL </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#postgresql');" title="PostgreSQL"> PostgreSQL </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#mysql-and-mariadb');" title="MySQL 和 MariaDB"> MySQL 和 MariaDB </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#microsoft-sql-server');" title="Microsoft SQL 服务器"> Microsoft SQL 服务器 </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#oracle-database');" title="Oracle Database"> Oracle Database </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-namespace');" title="15.2. 安全命名空间"> 15.2. 安全命名空间 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-web');" title="15.2.1. Web 应用程序安全"> 15.2.1. Web 应用程序安全 </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-debug');" title="<debug>"> &lt;debug&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http');" title="<http>"> &lt;http&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-access-denied-handler');" title="<access-denied-handler>"> &lt;access-denied-handler&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-cors');" title="<cors>"> &lt;cors&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-headers');" title="<headers>"> &lt;headers&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-cache-control');" title="<cache-control>"> &lt;cache-control&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-hsts');" title="<hsts>"> &lt;hsts&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-hpkp');" title="<hpkp>"> &lt;hpkp&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pins');" title="<pins>"> &lt;pins&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pin');" title="<pin>"> &lt;pin&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-content-security-policy');" title="<content-security-policy>"> &lt;content-security-policy&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-referrer-policy');" title="<referrer-policy>"> &lt;referrer-policy&gt; </a> </li>
 <li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-feature-policy');" title="<feature-policy>"> &lt;feature-policy&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-frame-options');" title="<frame-options>"> &lt;frame-options&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-xss-protection');" title="<xss-protection>"> &lt;xss-protection&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-content-type-options');" title="<content-type-options>"> &lt;content-type-options&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-header');" title="<header>"> &lt;header&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-anonymous');" title="<anonymous>"> &lt;anonymous&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-csrf');" title="<csrf>"> &lt;csrf&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-custom-filter');" title="<custom-filter>"> &lt;custom-filter&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-expression-handler');" title="<expression-handler>"> &lt;expression-handler&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-form-login');" title="<form-login>"> &lt;form-login&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http-basic');" title="<http-basic>"> &lt;http-basic&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-http-firewall');" title="<http-firewall> Element"> &lt;http-firewall&gt; Element </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-url');" title="<intercept-url>"> &lt;intercept-url&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-jee');" title="<jee>"> &lt;jee&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-logout');" title="<logout>"> &lt;logout&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-openid-login');" title="<openid-login>"> &lt;openid-login&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-attribute-exchange');" title="<attribute-exchange>"> &lt;attribute-exchange&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-openid-attribute');" title="<openid-attribute>"> &lt;openid-attribute&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-port-mappings');" title="<port-mappings>"> &lt;port-mappings&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-port-mapping');" title="<port-mapping>"> &lt;port-mapping&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-remember-me');" title="<remember-me>"> &lt;remember-me&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-request-cache');" title="<request-cache> Element"> &lt;request-cache&gt; Element </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-session-management');" title="<session-management>"> &lt;session-management&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-concurrency-control');" title="<concurrency-control>"> &lt;concurrency-control&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-x509');" title="<x509>"> &lt;x509&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-chain-map');" title="<filter-chain-map>"> &lt;filter-chain-map&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-chain');" title="<filter-chain>"> &lt;filter-chain&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-filter-security-metadata-source');" title="<filter-security-metadata-source>"> &lt;filter-security-metadata-source&gt; </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-websocket-security');" title="15.2.2. WebSocket Security"> 15.2.2. WebSocket Security </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-websocket-message-broker');" title="<websocket-message-broker>"> &lt;websocket-message-broker&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-message');" title="<intercept-message>"> &lt;intercept-message&gt; </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication');" title="15.2.3. Authentication Services"> 15.2.3. Authentication Services </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication-manager');" title="<authentication-manager>"> &lt;authentication-manager&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-authentication-provider');" title="<authentication-provider>"> &lt;authentication-provider&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-jdbc-user-service');" title="<jdbc-user-service>"> &lt;jdbc-user-service&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-password-encoder');" title="<password-encoder>"> &lt;password-encoder&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-user-service');" title="<user-service>"> &lt;user-service&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-user');" title="<user>"> &lt;user&gt; </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-method-security');" title="15.2.4. Method Security"> 15.2.4. Method Security </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-global-method-security');" title="<global-method-security>"> &lt;global-method-security&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-after-invocation-provider');" title="<after-invocation-provider>"> &lt;after-invocation-provider&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pre-post-annotation-handling');" title="<pre-post-annotation-handling>"> &lt;pre-post-annotation-handling&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-invocation-attribute-factory');" title="<invocation-attribute-factory>"> &lt;invocation-attribute-factory&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-post-invocation-advice');" title="<post-invocation-advice>"> &lt;post-invocation-advice&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-pre-invocation-advice');" title="<pre-invocation-advice>"> &lt;pre-invocation-advice&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-protect-pointcut');" title="Securing Methods using"> Securing Methods using </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-intercept-methods');" title="<intercept-methods>"> &lt;intercept-methods&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-method-security-metadata-source');" title="<method-security-metadata-source>"> &lt;method-security-metadata-source&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-protect');" title="<protect>"> &lt;protect&gt; </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap');" title="15.2.5. LDAP Namespace Options"> 15.2.5. LDAP Namespace Options </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-server');" title="Defining the LDAP Server using the"> Defining the LDAP Server using the </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-authentication-provider');" title="<ldap-authentication-provider>"> &lt;ldap-authentication-provider&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-password-compare');" title="<password-compare>"> &lt;password-compare&gt; </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#nsa-ldap-user-service');" title="<ldap-user-service>"> &lt;ldap-user-service&gt; </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-dependencies');" title="15.3. Spring Security Dependencies"> 15.3. Spring Security Dependencies </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-core-2');" title="15.3.1. spring-security-core"> 15.3.1. spring-security-core </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-remoting-2');" title="15.3.2. spring-security-remoting"> 15.3.2. spring-security-remoting </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-web-2');" title="15.3.3. spring-security-web"> 15.3.3. spring-security-web </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-ldap-2');" title="15.3.4. spring-security-ldap"> 15.3.4. spring-security-ldap </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-config-2');" title="15.3.5. spring-security-config"> 15.3.5. spring-security-config </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-acl-2');" title="15.3.6. spring-security-acl"> 15.3.6. spring-security-acl </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-cas-2');" title="15.3.7. spring-security-cas"> 15.3.7. spring-security-cas </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-openid-2');" title="15.3.8. spring-security-openid"> 15.3.8. spring-security-openid </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#spring-security-taglibs');" title="15.3.9. spring-security-taglibs"> 15.3.9. spring-security-taglibs </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-proxy-server');" title="15.4. Proxy Server Configuration"> 15.4. Proxy Server Configuration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq');" title="15.5. Spring Security FAQ"> 15.5. Spring Security FAQ </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-general-questions');" title="15.5.1. General Questions"> 15.5.1. General Questions </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-other-concerns');" title="Will Spring Security take care of all my application security requirements?"> Will Spring Security take care of all my application security requirements? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-web-xml');" title="Why not just use web.xml security?"> Why not just use web.xml security? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-requirements');" title="What Java and Spring Framework versions are required?"> What Java and Spring Framework versions are required? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-start-simple');" title="I'm new to Spring Security and I need to build an application that supports CAS single sign-on over HTTPS, while allowing Basic authentication locally for certain URLs, authenticating against multiple back end user information sources (LDAP and JDBC). I've copied some configuration files I found but it doesn't work."> I'm new to Spring Security and I need to build an application that supports CAS single sign-on over HTTPS, while allowing Basic authentication locally for certain URLs, authenticating against multiple back end user information sources (LDAP and JDBC). I've copied some configuration files I found but it doesn't work. </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-common-problems');" title="15.5.2. Common Problems"> 15.5.2. Common Problems </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-bad-credentials');" title="When I try to log in, I get an error message that says &quot;Bad Credentials&quot;. What's wrong?"> When I try to log in, I get an error message that says "Bad Credentials". What's wrong? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-login-loop');" title="My application goes into an &quot;endless loop&quot; when I try to login, what's going on?"> My application goes into an "endless loop" when I try to login, what's going on? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-anon-access-denied');" title="I get an exception with the message &quot;Access is denied (user is anonymous);&quot;. What's wrong?"> I get an exception with the message "Access is denied (user is anonymous);". What's wrong? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-cached-secure-page');" title="Why can I still see a secured page even after I've logged out of my application?"> Why can I still see a secured page even after I've logged out of my application? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#auth-exception-credentials-not-found');" title="I get an exception with the message &quot;An Authentication object was not found in the SecurityContext&quot;. What's wrong?"> I get an exception with the message "An Authentication object was not found in the SecurityContext". What's wrong? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-ldap-authentication');" title="I can't get LDAP authentication to work."> I can't get LDAP authentication to work. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#session-management');" title="Session Management"> Session Management </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-concurrent-session-same-browser');" title="I'm using Spring Security's concurrent session control to prevent users from logging in more than once at a time."> I'm using Spring Security's concurrent session control to prevent users from logging in more than once at a time. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-new-session-on-authentication');" title="Why does the session Id change when I authenticate through Spring Security?"> Why does the session Id change when I authenticate through Spring Security? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-tomcat-https-session');" title="I'm using Tomcat (or some other servlet container) and have enabled HTTPS for my login page, switching back to HTTP afterwards."> I'm using Tomcat (or some other servlet container) and have enabled HTTPS for my login page, switching back to HTTP afterwards. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#i-m-not-switching-between-http-and-https-but-my-session-is-still-getting-lost');" title="I'm not switching between HTTP and HTTPS but my session is still getting lost"> I'm not switching between HTTP and HTTPS but my session is still getting lost </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-session-listener-missing');" title="I'm trying to use the concurrent session-control support but it won't let me log back in, even if I'm sure I've logged out and haven't exceeded the allowed sessions."> I'm trying to use the concurrent session-control support but it won't let me log back in, even if I'm sure I've logged out and haven't exceeded the allowed sessions. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-unwanted-session-creation');" title="Spring Security is creating a session somewhere, even though I've configured it not to, by setting the create-session attribute to never."> Spring Security is creating a session somewhere, even though I've configured it not to, by setting the create-session attribute to never. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-forbidden-csrf');" title="I get a 403 Forbidden when performing a POST"> I get a 403 Forbidden when performing a POST </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-no-security-on-forward');" title="I'm forwarding a request to another URL using the RequestDispatcher, but my security constraints aren't being applied."> I'm forwarding a request to another URL using the RequestDispatcher, but my security constraints aren't being applied. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-method-security-in-web-context');" title="I have added Spring Security's <global-method-security> element to my application context but if I add security annotations to my Spring MVC controller beans (Struts actions etc.) then they don't seem to have an effect."> I have added Spring Security's &lt;global-method-security&gt; element to my application context but if I add security annotations to my Spring MVC controller beans (Struts actions etc.) then they don't seem to have an effect. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-no-filters-no-context');" title="I have a user who has definitely been authenticated, but when I try to access the SecurityContextHolder during some requests, the Authentication is null."> I have a user who has definitely been authenticated, but when I try to access the SecurityContextHolder during some requests, the Authentication is null. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-method-security-with-taglib');" title="The authorize JSP Tag doesn't respect my method security annotations when using the URL attribute."> The authorize JSP Tag doesn't respect my method security annotations when using the URL attribute. </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-architecture');" title="15.5.3. Spring Security Architecture Questions"> 15.5.3. Spring Security Architecture Questions </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-where-is-class-x');" title="How do I know which package class X is in?"> How do I know which package class X is in? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-namespace-to-bean-mapping');" title="How do the namespace elements map to conventional bean configurations?"> How do the namespace elements map to conventional bean configurations? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-role-prefix');" title="What does &quot;ROLE_&quot; mean and why do I need it on my role names?"> What does "ROLE_" mean and why do I need it on my role names? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-what-dependencies');" title="How do I know which dependencies to add to my application to work with Spring Security?"> How do I know which dependencies to add to my application to work with Spring Security? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-apacheds-deps');" title="What dependencies are needed to run an embedded ApacheDS LDAP server?"> What dependencies are needed to run an embedded ApacheDS LDAP server? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-what-is-userdetailservice');" title="What is a UserDetailsService and do I need one?"> What is a UserDetailsService and do I need one? </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-howto');" title="15.5.4. Common &quot;Howto&quot; Requests"> 15.5.4. Common "Howto" Requests </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-extra-login-fields');" title="I need to login in with more information than just the username."> I need to login in with more information than just the username. </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-matching-url-fragments');" title="How do I apply different intercept-url constraints where only the fragment value of the requested URLs differs (e.g./foo#bar and /foo#blah?"> How do I apply different intercept-url constraints where only the fragment value of the requested URLs differs (e.g./foo#bar and /foo#blah? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-request-details-in-user-service');" title="How do I access the user's IP Address (or other web-request data) in a UserDetailsService?"> How do I access the user's IP Address (or other web-request data) in a UserDetailsService? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-access-session-from-user-service');" title="How do I access the HttpSession from a UserDetailsService?"> How do I access the HttpSession from a UserDetailsService? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-password-in-user-service');" title="How do I access the user's password in a UserDetailsService?"> How do I access the user's password in a UserDetailsService? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-dynamic-url-metadata');" title="How do I define the secured URLs within an application dynamically?"> How do I define the secured URLs within an application dynamically? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-ldap-authorities');" title="How do I authenticate against LDAP but load user roles from a database?"> How do I authenticate against LDAP but load user roles from a database? </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/appendix.html#appendix-faq-namespace-post-processor');" title="I want to modify the property of a bean that is created by the namespace, but there is nothing in the schema to support it."> I want to modify the property of a bean that is created by the namespace, but there is nothing in the schema to support it. </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/reactive-applications.html');" title="III. Reactive Applications"> III. Reactive Applications </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html');" title="16. WebFlux Security"> 16. WebFlux Security </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html#minimal-webflux-security-configuration');" title="16.1. Minimal WebFlux Security Configuration"> 16.1. Minimal WebFlux Security Configuration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-webflux.html#explicit-webflux-security-configuration');" title="16.2. Explicit WebFlux Security Configuration"> 16.2. Explicit WebFlux Security Configuration </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html');" title="17. Default Security Headers"> 17. Default Security Headers </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-cache-control');" title="17.1. Cache Control"> 17.1. Cache Control </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-content-type-options');" title="17.2. Content Type Options"> 17.2. Content Type Options </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-hsts');" title="17.3. HTTP Strict Transport Security (HSTS)"> 17.3. HTTP Strict Transport Security (HSTS) </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-frame-options');" title="17.4. X-Frame-Options"> 17.4. X-Frame-Options </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-xss-protection');" title="17.5. X-XSS-Protection"> 17.5. X-XSS-Protection </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp');" title="17.6. Content Security Policy (CSP)"> 17.6. Content Security Policy (CSP) </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp-configure');" title="17.6.1. Configuring Content Security Policy"> 17.6.1. Configuring Content Security Policy </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-csp-links');" title="17.6.2. Additional Resources"> 17.6.2. Additional Resources </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-referrer');" title="17.7. Referrer Policy"> 17.7. Referrer Policy </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-referrer-configure');" title="17.7.1. Configuring Referrer Policy"> 17.7.1. Configuring Referrer Policy </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-feature');" title="17.8. Feature Policy"> 17.8. Feature Policy </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/default-security-headers-2.html#webflux-headers-feature-configure');" title="17.8.1. Configuring Feature Policy"> 17.8.1. Configuring Feature Policy </a> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-redirect-https.html');" title="18. Redirect to HTTPS"> 18. Redirect to HTTPS </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html');" title="19. OAuth2 WebFlux"> 19. OAuth2 WebFlux </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login');" title="19.1. OAuth 2.0 Login"> 19.1. OAuth 2.0 Login </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample');" title="19.1.1. Spring Boot 2.0 Sample"> 19.1.1. Spring Boot 2.0 Sample </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-setup');" title="Initial setup"> Initial setup </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-redirect');" title="Setting the redirect URI"> Setting the redirect URI </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-config');" title="Configure application.yml"> Configure application.yml </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-sample-start');" title="Boot up the application"> Boot up the application </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-openid-provider-configuration');" title="19.1.2. Using OpenID Provider Configuration"> 19.1.2. Using OpenID Provider Configuration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-login-explicit');" title="19.1.3. Explicit OAuth2 Login Configuration"> 19.1.3. Explicit OAuth2 Login Configuration </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-client');" title="19.2. OAuth2 Client"> 19.2. OAuth2 Client </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server');" title="19.3. OAuth2 Resource Server"> 19.3. OAuth2 Resource Server </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#dependencies-2');" title="19.3.1. Dependencies"> 19.3.1. Dependencies </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-minimal-configuration');" title="19.3.2. Minimal Configuration"> 19.3.2. Minimal Configuration </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#specify-the-authorization-server');" title="Specify the Authorization Server"> Specify the Authorization Server </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#startup-expectations-2');" title="Startup Expectations"> Startup Expectations </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#runtime-expectations-2');" title="Runtime Expectations"> Runtime Expectations </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-jwkseturi');" title="Specifying the Authorization Server JWK Set Uri Directly"> Specifying the Authorization Server JWK Set Uri Directly </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-sans-boot');" title="Overriding or Replacing Boot Auto Configuration"> Overriding or Replacing Boot Auto Configuration </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-authorization');" title="Configuring Authorization"> Configuring Authorization </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-oauth2.html#webflux-oauth2-resource-server-validation');" title="Configuring Validation"> Configuring Validation </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webflux-roac.html');" title="20. @RegisteredOAuth2AuthorizedClient"> 20. @RegisteredOAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html');" title="21. WebClient"> 21. WebClient </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-setup');" title="21.1. WebClient OAuth2 Setup"> 21.1. WebClient OAuth2 Setup </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-implicit');" title="21.2. Implicit OAuth2AuthorizedClient"> 21.2. Implicit OAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-explicit');" title="21.3. Explicit OAuth2AuthorizedClient"> 21.3. Explicit OAuth2AuthorizedClient </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/webclient.html#webclient-clientregistrationid');" title="21.4. clientRegistrationId"> 21.4. clientRegistrationId </a> </li>
</ul> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/jc-erms.html');" title="22. EnableReactiveMethodSecurity"> 22. EnableReactiveMethodSecurity </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html');" title="23. Reactive Test Support"> 23. Reactive Test Support </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#test-erms');" title="23.1. Testing Reactive Method Security"> 23.1. Testing Reactive Method Security </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#test-webtestclient');" title="23.2. WebTestClientSupport"> 23.2. WebTestClientSupport </a>
<ul class="articles">
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#authentication');" title="23.2.1. Authentication"> 23.2.1. Authentication </a> </li>
<li> <a href="javascript:window.open('https://www.docs4dev.com/docs/zh/spring-security/5.1.2.RELEASE/reference/test-webflux.html#csrf-support');" title="23.2.2. CSRF Support"> 23.2.2. CSRF Support </a> </li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul></div>
</div>
</section>
<div class="right-sidebar">
<div class="affix"><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6108808167664152" data-ad-slot="3102929424" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
</div>
</div>
<div class="ft">
<a href="#toolbar-title" id="anchorNavigationExGoTop"><i class="fa fa-arrow-up"></i></a>
<footer class="footer">
<div class="footer__container--normal">
<img alt="扫码关注公众号" title="扫码关注公众号" src="static/picture/qr-code.png" width="170" height="170">
<div class="footer__description--normal">
<p class="paragraph footer__author--normal">Docs4dev<sup class="super">&#xAE;</sup>
</p>
<p class="paragraph footer__quote&#45;&#45;normal">
如果你在使用过程中遇到任何问题，可以在 <a href="javascript:window.open('https://github.com/docs4dev/docs4dev-issues');" target="_blank" rel="noopener noreferrer">这里<i class="fa fa-external-link"></i></a> 提issue。
</p>
<div class="footer__main--normal">
<p class="paragraph footer__main__paragraph--normal copyright" style="color: #666 !important;">
<a href="javascript:window.open('https://beian.miit.gov.cn/');">
蜀ICP备14021783号-6
</a>
</p>
<p class="paragraph footer__main__paragraph--normal copyright" style="color: #666 !important;">
Copyright &#xA9; Docs4dev all
right reserved, powered by <a href="index2.html" target="_blank">Docs4dev</a></p>
</div>
</div>
</div>
<div class="box__issues">
</div>
</footer>
</div>
</div>
</div>
</div>
</div>
<script>
  var hasToc = true;
  /*  var downloadable = /!*false*!/ false;
    var editable = /!*false*!/ false;
    var code = /!*"spring-security"*!/ false;
    var version = /!*"5.1.2.RELEASE"*!/ false;
    var type = /!*"reference"*!/ false;
    var lang = /!*"zh"*!/ 'en';
    //edit link
    require(["gitbook", "jQuery"], function (gitbook, $) {
      gitbook.events.bind('start', function (e, config) {
        // Add edit toolbar to left
        var chapterId = /!*16407*!/ 0;
        if (downloadable) {
          gitbook.toolbar.createButton({
            icon: 'fa fa-download',
            text: '下载',
            onClick: function () {
              window.open('/download?code=' + code + '&version=' + version + '&type=' + type + '&lang=' + lang);
            }
          });
        }
        if (editable) {
          gitbook.toolbar.createButton({
            icon: 'fa fa-edit',
            text: '编辑此页',
            onClick: function () {
              window.open('/docs/edit?chapterId=' + chapterId + '&lang=' + lang);
            }
          });
        }
      });
    });*/
</script>
<script>
    var code = "spring-security";
    var lang = "zh";
  </script>

<script src="static/js/autocomplete-js.js"></script>
<script src="static/js/app.min.js"></script>
<script src="static/js/search.min.js"></script>
</body>
</html>
